name: Lint and Test Charts on: pull_request jobs: e2e-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Run It run: | sudo rm $(which kubectl) sudo RUN_IN_CI=1 TLS_CERT=test/localhost.crt TLS_KEY=test/localhost.key ./deploy_jitsi.sh localhost test@localhost.local - name: Wait for pods run: | sudo kubectl -n prod wait pods -l app.kubernetes.io/name=prosody --for condition=Ready --timeout=90s sudo kubectl -n prod wait pods -l app.kubernetes.io/component=web --for condition=Ready --timeout=90s sudo kubectl -n prod wait pods -l app.kubernetes.io/component=jicofo --for condition=Ready --timeout=180s sudo kubectl -n prod wait pods -l app.kubernetes.io/component=etherpad --for condition=Ready --timeout=180s sudo kubectl -n prod wait pods -l app.kubernetes.io/component=jvb --for condition=Ready --timeout=300s - name: Check homepage run: | curl -vIL --cacert test/rootca.crt https://localhost - name: Tear down run: sudo /usr/local/bin/k3s-uninstall.sh lint-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Helm uses: azure/setup-helm@v1 with: version: v3.9.0 - uses: actions/setup-python@v3 with: python-version: '3.x' - name: Set up chart-testing uses: helm/chart-testing-action@v2.2.1 with: version: v3.5.1 - name: Run chart-testing (list-changed) id: list-changed run: | changed=$(ct list-changed --config ct.yaml) if [[ -n "$changed" ]]; then echo "::set-output name=changed::true" fi - name: Run chart-testing (lint) run: ct lint --config ct.yaml --lint-conf lintconf.yaml --validate-maintainers=false - name: Create k3s cluster uses: debianmaster/actions-k3s@master with: version: 'v1.23.6-k3s1' if: steps.list-changed.outputs.changed == 'true' - name: Wait for traefik run: | kubectl -n kube-system wait --for=condition=complete job/helm-install-traefik-crd kubectl -n kube-system wait --for=condition=complete job/helm-install-traefik kubectl -n kube-system wait --for=condition=available deploy/traefik if: steps.list-changed.outputs.changed == 'true' - name: Run chart-testing (install) run: ct install --config ct.yaml --chart-dirs . --charts jitsi if: steps.list-changed.outputs.changed == 'true'