Allow setting PAAS namespace GPU limits #470
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test Helm | |
on: | |
pull_request: | |
paths: | |
- charts/** | |
- .github/workflows/test.yaml | |
jobs: | |
verify-docs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Verify Helm docs are up to date | |
run: make verify-docs | |
test-helm-lint: | |
runs-on: ubuntu-latest | |
name: Lint Helm Charts | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Helm | |
uses: azure/setup-helm@v3 | |
with: | |
version: v3.12.0 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
- name: Set up chart-testing | |
uses: helm/[email protected] | |
- name: Run chart-testing (lint) | |
run: ct lint --config .github/config/cf.yaml --chart-dirs charts | |
test-helm: | |
needs: [test-helm-lint] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
chart: | |
- osc-common | |
- database | |
- webservice | |
- prometheus | |
- kubernetes-dashboard-proxy | |
- kyverno-policies | |
- paas | |
name: Test Helm Chart ${{ matrix.chart }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Helm | |
uses: azure/setup-helm@v3 | |
with: | |
version: v3.12.0 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
- name: Set up chart-testing | |
uses: helm/[email protected] | |
- name: Create kind cluster | |
uses: helm/[email protected] | |
with: | |
version: v0.17.0 | |
cluster_name: kind | |
node_image: kindest/node:v1.25.3@sha256:f52781bc0d7a19fb6c405c2af83abfeb311f130707a0e219175677e366cc45d1 | |
config: .github/config/kind.yaml | |
- name: Build and Load images | |
if: matrix.chart == 'database' || matrix.chart == 'webservice' | |
run: | | |
make -f docker-images/mariadb/Makefile build | |
make -f docker-images/mariadb/Makefile kind-load | |
make -f docker-images/postgresql/Makefile build | |
make -f docker-images/postgresql/Makefile kind-load | |
- name: Label kind nodes | |
run: | | |
kubectl label node kind-worker node-role.kubernetes.io/test='' | |
kubectl label node kind-worker2 node-role.kubernetes.io/test='' | |
- name: Set image pull secret | |
run: | | |
sed -i 's|OSC-IMAGE-PULL-PASSWORD|${{ secrets.OSC_REGISTRY_ROBOT_READ_TOKEN}}|g' charts/*/ci/*.yaml | |
sed -i 's|IMAGE-PULL-PASSWORD|${{ secrets.OSC_REGISTRY_ROBOT_WEBSERVICES_READ_TOKEN}}|g' charts/*/ci/*.yaml | |
- name: Install Keycloak | |
run: | | |
helm repo add bitnami https://charts.bitnami.com/bitnami | |
helm install keycloak bitnami/keycloak -n keycloak --create-namespace --version 9.2.2 | |
- name: Install Kyverno | |
run: | | |
helm repo add kyverno https://kyverno.github.io/kyverno/ | |
helm install kyverno kyverno/kyverno -n kyverno --create-namespace -f .github/config/kyverno-values.yaml --version 3.1.4 | |
timeout 60 /bin/bash -c 'until kubectl get pods -n kyverno -l app.kubernetes.io/component=admission-controller -o jsonpath="{.items[0].status.phase}" | grep Running ; do echo "Waiting for Kyverno" ; sleep 10 ; done' | |
sleep 60 | |
- name: Install cert-manager | |
if: matrix.chart == 'paas' | |
run: | | |
helm repo add jetstack https://charts.jetstack.io | |
helm install cert-manager jetstack/cert-manager -n cert-manager --create-namespace --version v1.14.4 --set installCRDs=true | |
- name: Add namespaces | |
run: kubectl create namespace ${{ matrix.chart }} | |
- name: Run chart-testing (install) | |
run: | | |
ct install --config .github/config/cf.yaml --charts charts/${{ matrix.chart }} --namespace ${{ matrix.chart }} | |
- name: Debug failure | |
if: failure() | |
run: | | |
kubectl describe pod -A | |
kubectl describe service -A | |
kubectl describe daemonset -A | |
kubectl logs -n kyverno -l app.kubernetes.io/component=admission-controller |