From 6ebd33900034cf40c4ae3edcb03b4e774c7b90e1 Mon Sep 17 00:00:00 2001 From: jessebot Date: Tue, 23 Jul 2024 17:17:42 +0200 Subject: [PATCH] Refactor .github/workflows/lint-test.yaml to use a matrix for generating jobs for each test case Signed-off-by: jessebot --- .github/workflows/lint-test.yaml | 64 ++++++++++++-------------------- 1 file changed, 24 insertions(+), 40 deletions(-) diff --git a/.github/workflows/lint-test.yaml b/.github/workflows/lint-test.yaml index ded95bf8..cedb17c3 100644 --- a/.github/workflows/lint-test.yaml +++ b/.github/workflows/lint-test.yaml @@ -56,49 +56,28 @@ jobs: if: steps.list-changed.outputs.changed == 'true' run: ct lint --target-branch ${{ github.event.repository.default_branch }} - test-internal-database: + run-tests: runs-on: ubuntu-22.04 needs: [changes, lint] if: needs.changes.outputs.src != 'false' - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 + strategy: + matrix: + test_cases: + # test the plain helm chart with nothing changed + - name: 'Default - no custom values' - - name: Install Helm - uses: azure/setup-helm@v4 - with: - version: v3.14.4 + # test the helm chart with postgresql subchart enabled + - name: PostgreSQL Enabled + helm_args: '--helm-extra-set-args "--set=postgresql.enabled=true --set=postgresql.global.postgresql.auth.password=testing123456 --set=internalDatabase.enabled=false --set=externalDatabase.enabled=True --set=externalDatabase.type=postgresql --set=externalDatabase.password=testing12345"' - - name: Add dependency chart repos - run: | - helm repo add bitnami https://charts.bitnami.com/bitnami + # test the helm chart with nginx container enabled + - name: Nginx Enabled + helm_args: '--helm-extra-set-args "--set=image.flavor=fpm --set=nginx.enabled=true"' - - name: Set up chart-testing - uses: helm/chart-testing-action@v2.6.1 + # test the helm chart with horizontal pod autoscaling enabled + - name: Horizontal Pod Autoscaling Enabled + helm_args: '--helm-extra-set-args "--set=hpa.enabled=true --set=hpa.minPods=1 --set=hpa.maxPods=3 --set=hpa.targetCPUUtilizationPercentage=75"' - - name: Run chart-testing (list-changed) - id: list-changed - run: | - changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }}) - if [[ -n "$changed" ]]; then - echo "changed=true" >> "$GITHUB_OUTPUT" - fi - - - name: Create kind cluster - uses: helm/kind-action@v1.10.0 - if: steps.list-changed.outputs.changed == 'true' - - - name: Run chart-testing (install) - id: install - if: steps.list-changed.outputs.changed == 'true' - run: ct install --target-branch ${{ github.event.repository.default_branch }} - - test-postgresql-database: - runs-on: ubuntu-22.04 - needs: [changes, lint] - if: needs.changes.outputs.src != 'false' steps: - name: Checkout uses: actions/checkout@v4 @@ -129,9 +108,14 @@ jobs: uses: helm/kind-action@v1.10.0 if: steps.list-changed.outputs.changed == 'true' - - name: Run chart-testing (install) + - name: Run chart-testing (install ${{ matrix.test_cases.name }}) id: install if: steps.list-changed.outputs.changed == 'true' - run: | - ct install --target-branch ${{ github.event.repository.default_branch }} \ - --helm-extra-set-args "--set=postgresql.enabled=true --set=postgresql.global.postgresql.auth.password=testing123456 --set=internalDatabase.enabled=false --set=externalDatabase.enabled=True --set=externalDatabase.type=postgresql --set=externalDatabase.password=testing123456" + run: ct install --target-branch ${{ github.event.repository.default_branch }} ${{ matrix.test_cases.helm_args }} + + summary: + runs-on: ubuntu-22.04 + needs: changes + steps: + - name: Summary + run: echo "All done! 🎉"