From 3a80c82023152ee3077c29ec337adb2f4be38965 Mon Sep 17 00:00:00 2001 From: Hariom Balhara Date: Tue, 25 Jul 2023 17:07:29 +0530 Subject: [PATCH] chore: make Embed and AppStore Tests required (#10358) * Now, all tests are required * Add matrix support --- .github/workflows/e2e-app-store.yml | 13 +++++++++---- .github/workflows/e2e-embed-react.yml | 14 ++++++++++---- .github/workflows/e2e-embed.yml | 14 ++++++++++---- .github/workflows/pr.yml | 5 +---- 4 files changed, 30 insertions(+), 16 deletions(-) diff --git a/.github/workflows/e2e-app-store.yml b/.github/workflows/e2e-app-store.yml index dd1b98953a..f98dc1d6e2 100644 --- a/.github/workflows/e2e-app-store.yml +++ b/.github/workflows/e2e-app-store.yml @@ -5,7 +5,7 @@ on: jobs: e2e-app-store: timeout-minutes: 20 - name: E2E App-Store Apps + name: E2E App Store (${{ matrix.shard }}/${{ strategy.job-total }}) runs-on: buildjet-4vcpu-ubuntu-2204 services: postgres: @@ -15,6 +15,11 @@ jobs: POSTGRES_DB: calendso ports: - 5432:5432 + strategy: + fail-fast: false + matrix: + ## There aren't many tests for AppStore. So, just start with 2 shards. Increase if needed. + shard: [1, 2] steps: - uses: actions/checkout@v3 @@ -26,12 +31,12 @@ jobs: - uses: ./.github/actions/cache-db - uses: ./.github/actions/cache-build - name: Run Tests - run: yarn test-e2e:app-store + run: yarn e2e:app-store --shard=${{ matrix.shard }}/${{ strategy.job-total }} env: DEPLOYSENTINEL_API_KEY: ${{ secrets.DEPLOYSENTINEL_API_KEY }} - name: Upload Test Results if: ${{ always() }} uses: actions/upload-artifact@v2 with: - name: test-results - path: test-results + name: app-store-results-${{ matrix.shard }}_${{ strategy.job-total }} + path: app-store-results diff --git a/.github/workflows/e2e-embed-react.yml b/.github/workflows/e2e-embed-react.yml index c49f8fd0ed..95c26e3781 100644 --- a/.github/workflows/e2e-embed-react.yml +++ b/.github/workflows/e2e-embed-react.yml @@ -1,10 +1,11 @@ -name: E2E Embed tests and booking flow(for non-embed as well) +name: E2E Embed React tests and booking flow(for non-embed as well) on: workflow_call: jobs: e2e-embed: timeout-minutes: 20 + name: E2E Embed React (${{ matrix.shard }}/${{ strategy.job-total }}) runs-on: buildjet-4vcpu-ubuntu-2204 services: postgres: @@ -14,6 +15,11 @@ jobs: POSTGRES_DB: calendso ports: - 5432:5432 + strategy: + fail-fast: false + matrix: + ## There aren't many tests for embed-react. So, just start with 2 shards. Increase if needed. + shard: [1, 2] steps: - uses: actions/checkout@v3 @@ -26,7 +32,7 @@ jobs: - uses: ./.github/actions/cache-build - name: Run Tests run: | - yarn test-e2e:embed-react + yarn e2e:embed-react --shard=${{ matrix.shard }}/${{ strategy.job-total }} yarn workspace @calcom/embed-react packaged:tests env: DEPLOYSENTINEL_API_KEY: ${{ secrets.DEPLOYSENTINEL_API_KEY }} @@ -34,5 +40,5 @@ jobs: if: ${{ always() }} uses: actions/upload-artifact@v2 with: - name: test-results - path: test-results + name: embed-react-results-${{ matrix.shard }}_${{ strategy.job-total }} + path: embed-react-results diff --git a/.github/workflows/e2e-embed.yml b/.github/workflows/e2e-embed.yml index 335471cbe6..96ec8e0251 100644 --- a/.github/workflows/e2e-embed.yml +++ b/.github/workflows/e2e-embed.yml @@ -1,10 +1,11 @@ -name: E2E Embed tests and booking flow(for non-embed as well) +name: E2E Embed Core tests and booking flow(for non-embed as well) on: workflow_call: jobs: e2e-embed: timeout-minutes: 20 + name: E2E Embed Core (${{ matrix.shard }}/${{ strategy.job-total }}) runs-on: buildjet-4vcpu-ubuntu-2204 services: postgres: @@ -14,6 +15,11 @@ jobs: POSTGRES_DB: calendso ports: - 5432:5432 + strategy: + fail-fast: false + matrix: + ## There aren't many tests for embed-core. So, just start with 2 shards. Increase if needed. + shard: [1, 2] steps: - uses: actions/checkout@v3 @@ -25,12 +31,12 @@ jobs: - uses: ./.github/actions/cache-db - uses: ./.github/actions/cache-build - name: Run Tests - run: yarn test-e2e:embed + run: yarn e2e:embed --shard=${{ matrix.shard }}/${{ strategy.job-total }} env: DEPLOYSENTINEL_API_KEY: ${{ secrets.DEPLOYSENTINEL_API_KEY }} - name: Upload Test Results if: ${{ always() }} uses: actions/upload-artifact@v2 with: - name: test-results - path: test-results + name: embed-core-results-${{ matrix.shard }}_${{ strategy.job-total }} + path: embed-core-results diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index ebd48c7b7f..adf9149c87 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -84,21 +84,18 @@ jobs: e2e-app-store: name: E2E App Store tests - if: ${{ needs.changes.outputs.app-store == 'true' }} needs: [changes, lint, build] uses: ./.github/workflows/e2e-app-store.yml secrets: inherit e2e-embed: name: E2E embeds tests - if: ${{ needs.changes.outputs.embed == 'true' }} needs: [changes, lint, build] uses: ./.github/workflows/e2e-embed.yml secrets: inherit e2e-embed-react: name: E2E React embeds tests - if: ${{ needs.changes.outputs.embed-react == 'true' }} needs: [changes, lint, build] uses: ./.github/workflows/e2e-embed-react.yml secrets: inherit @@ -109,7 +106,7 @@ jobs: secrets: inherit required: - needs: [lint, type-check, test, build, e2e] + needs: [lint, type-check, test, build, e2e, e2e-embed, e2e-embed-react, e2e-app-store] if: always() runs-on: buildjet-4vcpu-ubuntu-2204 steps: