From 5381084d941ad2ad0c9b2269ce6d95588595095c Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 11:40:17 +0100 Subject: [PATCH 01/31] test: test acceptance against cloud --- .github/workflows/test.yml | 45 ++++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ce61199e..8662fc03 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,8 +1,28 @@ name: Quality -on: pull_request +on: + pull_request: + schedule: + # All 5 minutes + - cron: '*/5 * * * *' jobs: + matrix: + # If the workflow is triggered by a schedule event, only the acceptance tests run against QA and Prod. + name: Preparte Matrix + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.prepare-matrix.outputs.matrix }} + steps: + - name: Prepare Matrix + id: prepare-matrix + run: | + if [ -z "${{ github.event.schedule }}" ]; then + echo "::set-output name=matrix::['test:acceptance:qa', 'test:acceptance:prod']" + else + echo "::set-output name=matrix::['format --check', 'lint', 'test:unit', 'test:integration', 'test:acceptance']" + fi + quality: name: Ensure Quality @@ -16,12 +36,7 @@ jobs: strategy: fail-fast: false matrix: - command: - - format --check - - lint - - test:unit - - test:integration - - test:acceptance + command: ${{fromJson(needs.prepare-matrix.outputs.matrix)}} steps: - name: Checkout Repo @@ -55,7 +70,7 @@ jobs: # We can cache the Playwright binary independently from the pnpm cache, because we install it separately. # After pnpm install --frozen-lockfile, we can get the version so we only have to download the binary once per version. - run: echo "PLAYWRIGHT_VERSION=$(npx playwright --version | cut -d ' ' -f 2)" >> $GITHUB_ENV - if: ${{ matrix.command == 'test:acceptance' }} + if: ${{ startsWith(matrix.command, 'test:acceptance') }} - uses: actions/cache@v4.0.2 name: Setup Playwright binary cache @@ -65,11 +80,11 @@ jobs: key: ${{ runner.os }}-playwright-binary-${{ env.PLAYWRIGHT_VERSION }} restore-keys: | ${{ runner.os }}-playwright-binary- - if: ${{ matrix.command == 'test:acceptance' }} + if: ${{ startsWith(matrix.command, 'test:acceptance') }} - name: Install Playwright Browsers run: pnpm exec playwright install --with-deps - if: ${{ matrix.command == 'test:acceptance' && steps.playwright-cache.outputs.cache-hit != 'true' }} + if: ${{ startsWith(matrix.command, 'test:acceptance') && steps.playwright-cache.outputs.cache-hit != 'true' }} - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -83,6 +98,14 @@ jobs: run: pnpm build if: ${{ matrix.command == 'test:acceptance' }} + - name: Create Production Build + run: pnpm build + if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' }} + env: + ZITADEL_API_URL: ${{ secrets.E2E_QA_ZITADEL_API_URL }} + ZITADEL_SERVICE_USER_ID: ${{ secrets.E2E_QA_ZITADEL_SERVICE_USER_ID }} + ZITADEL_SERVICE_USER_TOKEN: ${{ secrets.E2E_QA_ZITADEL_SERVICE_USER_TOKEN }} + - name: Check id: check - run: pnpm ${{ matrix.command }} + run: pnpm ${{ contains(matrix.command, 'test:acceptance') && 'test:acceptance' || matrix.command }} From 80fd39ff3e9d0653c5f107768773513a384f973c Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:14:38 +0100 Subject: [PATCH 02/31] quotes --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8662fc03..ee2643e0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,9 +18,9 @@ jobs: id: prepare-matrix run: | if [ -z "${{ github.event.schedule }}" ]; then - echo "::set-output name=matrix::['test:acceptance:qa', 'test:acceptance:prod']" + echo '::set-output name=matrix::["test:acceptance:qa", "test:acceptance:prod"]' else - echo "::set-output name=matrix::['format --check', 'lint', 'test:unit', 'test:integration', 'test:acceptance']" + echo '::set-output name=matrix::["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' fi quality: @@ -36,7 +36,7 @@ jobs: strategy: fail-fast: false matrix: - command: ${{fromJson(needs.prepare-matrix.outputs.matrix)}} + command: ${{ fromJson( needs.prepare-matrix.outputs.matrix ) }} steps: - name: Checkout Repo From 6a03c58ee0eb982190380dff87d40cbc285df690 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:22:20 +0100 Subject: [PATCH 03/31] GITHUB_OUTPUT --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ee2643e0..bb40d74d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,9 +18,9 @@ jobs: id: prepare-matrix run: | if [ -z "${{ github.event.schedule }}" ]; then - echo '::set-output name=matrix::["test:acceptance:qa", "test:acceptance:prod"]' + echo 'matrix=["test:acceptance:qa", "test:acceptance:prod"]' >> $GITHUB_OUTPUT else - echo '::set-output name=matrix::["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' + echo 'matrix=["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' >> $GITHUB_OUTPUT fi quality: From 1f1310b59f5ddcf694fe882449530eaeac37b7cd Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:23:03 +0100 Subject: [PATCH 04/31] minutely --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bb40d74d..79644724 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,8 +3,8 @@ name: Quality on: pull_request: schedule: - # All 5 minutes - - cron: '*/5 * * * *' + # All 1 minutes + - cron: '*/1 * * * *' jobs: matrix: From 16a1bcba208726aec3e6920bf57db3a7320a4a29 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:23:22 +0100 Subject: [PATCH 05/31] minutely --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 79644724..a700c0b7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,7 +4,7 @@ on: pull_request: schedule: # All 1 minutes - - cron: '*/1 * * * *' + - cron: '* * * * *' jobs: matrix: From 0bae8d916adab477f7ee9577bfd4b0499d9af0e5 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:28:41 +0100 Subject: [PATCH 06/31] json --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a700c0b7..8ec0abb6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,9 +18,9 @@ jobs: id: prepare-matrix run: | if [ -z "${{ github.event.schedule }}" ]; then - echo 'matrix=["test:acceptance:qa", "test:acceptance:prod"]' >> $GITHUB_OUTPUT + echo "matrix=$(echo '[\"test:acceptance:qa\", \"test:acceptance:prod\"]' | jq -R .)" >> $GITHUB_OUTPUT else - echo 'matrix=["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' >> $GITHUB_OUTPUT + echo "matrix=$(echo '[\"format --check\", \"lint\", \"test:unit\", \"test:integration\", \"test:acceptance\"]' | jq -R .)" >> $GITHUB_OUTPUT fi quality: From 64b2dc46100899df120398a879c6a285f226d00b Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:38:19 +0100 Subject: [PATCH 07/31] dispatch --- .github/workflows/test.yml | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8ec0abb6..9729cdf0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,6 +5,20 @@ on: schedule: # All 1 minutes - cron: '* * * * *' + workflow_dispatch: + inputs: + zitadel-api-url: + description: 'ZITADEL API URL' + required: true + default: ${{ secrets.E2E_QA_ZITADEL_API_URL }} + zitadel-service-user-id: + description: 'ZITADEL SERVICE USER ID' + required: true + default: ${{ secrets.E2E_QA_ZITADEL_SERVICE_USER_ID }} + zitadel-service-user-token: + description: 'ZITADEL SERVICE USER TOKEN' + required: true + default: ${{ secrets.E2E_QA_ZITADEL_SERVICE_USER_TOKEN }} jobs: matrix: @@ -19,6 +33,8 @@ jobs: run: | if [ -z "${{ github.event.schedule }}" ]; then echo "matrix=$(echo '[\"test:acceptance:qa\", \"test:acceptance:prod\"]' | jq -R .)" >> $GITHUB_OUTPUT + else if [ -z "${{ github.event.inputs.zitadel-api-url }}" ]; then + echo "matrix=$(echo '[\"test:acceptance:custom\"]' | jq -R .)" >> $GITHUB_OUTPUT else echo "matrix=$(echo '[\"format --check\", \"lint\", \"test:unit\", \"test:integration\", \"test:acceptance\"]' | jq -R .)" >> $GITHUB_OUTPUT fi @@ -100,11 +116,11 @@ jobs: - name: Create Production Build run: pnpm build - if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' }} + if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' || matrix.command == 'test:acceptance:custom' }} env: - ZITADEL_API_URL: ${{ secrets.E2E_QA_ZITADEL_API_URL }} - ZITADEL_SERVICE_USER_ID: ${{ secrets.E2E_QA_ZITADEL_SERVICE_USER_ID }} - ZITADEL_SERVICE_USER_TOKEN: ${{ secrets.E2E_QA_ZITADEL_SERVICE_USER_TOKEN }} + ZITADEL_API_URL: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-api-url || secrets.E2E_QA_ZITADEL_API_URL }} + ZITADEL_SERVICE_USER_ID: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-id || secrets.E2E_QA_ZITADEL_SERVICE_USER_ID }} + ZITADEL_SERVICE_USER_TOKEN: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-token || secrets.E2E_QA_ZITADEL_SERVICE_USER_TOKEN }} - name: Check id: check From c95f5cddbce1f9085140281b2948bb40fcfc0d8a Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:45:54 +0100 Subject: [PATCH 08/31] inputs --- .github/workflows/test.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9729cdf0..9c680eef 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,18 +7,18 @@ on: - cron: '* * * * *' workflow_dispatch: inputs: + zitadel-env: + description: 'ZITADEL ENVIRONMENT' + required: false zitadel-api-url: description: 'ZITADEL API URL' - required: true - default: ${{ secrets.E2E_QA_ZITADEL_API_URL }} + required: false zitadel-service-user-id: description: 'ZITADEL SERVICE USER ID' - required: true - default: ${{ secrets.E2E_QA_ZITADEL_SERVICE_USER_ID }} + required: false zitadel-service-user-token: description: 'ZITADEL SERVICE USER TOKEN' - required: true - default: ${{ secrets.E2E_QA_ZITADEL_SERVICE_USER_TOKEN }} + required: false jobs: matrix: @@ -33,6 +33,8 @@ jobs: run: | if [ -z "${{ github.event.schedule }}" ]; then echo "matrix=$(echo '[\"test:acceptance:qa\", \"test:acceptance:prod\"]' | jq -R .)" >> $GITHUB_OUTPUT + else if [ -z "${{ github.event.inputs.zitadel-env }}" ]; then + echo "matrix=$(echo '[\"test:acceptance:${{ github.event.inputs.zitadel-env }}\"]' | jq -R .)" >> $GITHUB_OUTPUT else if [ -z "${{ github.event.inputs.zitadel-api-url }}" ]; then echo "matrix=$(echo '[\"test:acceptance:custom\"]' | jq -R .)" >> $GITHUB_OUTPUT else @@ -118,9 +120,9 @@ jobs: run: pnpm build if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' || matrix.command == 'test:acceptance:custom' }} env: - ZITADEL_API_URL: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-api-url || secrets.E2E_QA_ZITADEL_API_URL }} - ZITADEL_SERVICE_USER_ID: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-id || secrets.E2E_QA_ZITADEL_SERVICE_USER_ID }} - ZITADEL_SERVICE_USER_TOKEN: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-token || secrets.E2E_QA_ZITADEL_SERVICE_USER_TOKEN }} + ZITADEL_API_URL: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-api-url || matrix.command == 'test:acceptance:qa' && secrets.E2E_QA_ZITADEL_API_URL || secrets.E2E_PROD_ZITADEL_API_URL }} + ZITADEL_SERVICE_USER_ID: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-id || matrix.command == 'test:acceptance:qa' && secrets.E2E_QA_ZITADEL_SERVICE_USER_ID || secrets.E2E_PROD_ZITADEL_SERVICE_USER_ID}} + ZITADEL_SERVICE_USER_TOKEN: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-token || matrix.command == 'test:acceptance:qa' && secrets.E2E_QA_ZITADEL_SERVICE_USER_TOKEN || secrets.E2E_PROD_ZITADEL_SERVICE_USER_TOKEN}} - name: Check id: check From f39e97288c32986409131f38da56a85ba749def2 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:48:59 +0100 Subject: [PATCH 09/31] elif --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9c680eef..2791d2e2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,9 +33,9 @@ jobs: run: | if [ -z "${{ github.event.schedule }}" ]; then echo "matrix=$(echo '[\"test:acceptance:qa\", \"test:acceptance:prod\"]' | jq -R .)" >> $GITHUB_OUTPUT - else if [ -z "${{ github.event.inputs.zitadel-env }}" ]; then + elif [ -z "${{ github.event.inputs.zitadel-env }}" ]; then echo "matrix=$(echo '[\"test:acceptance:${{ github.event.inputs.zitadel-env }}\"]' | jq -R .)" >> $GITHUB_OUTPUT - else if [ -z "${{ github.event.inputs.zitadel-api-url }}" ]; then + elif [ -z "${{ github.event.inputs.zitadel-api-url }}" ]; then echo "matrix=$(echo '[\"test:acceptance:custom\"]' | jq -R .)" >> $GITHUB_OUTPUT else echo "matrix=$(echo '[\"format --check\", \"lint\", \"test:unit\", \"test:integration\", \"test:acceptance\"]' | jq -R .)" >> $GITHUB_OUTPUT From 1fb6dec1fe85b69bad61d7b6f24c96423e36d5ac Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:50:57 +0100 Subject: [PATCH 10/31] enum --- .github/workflows/test.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2791d2e2..ad08f02f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,12 @@ on: inputs: zitadel-env: description: 'ZITADEL ENVIRONMENT' - required: false + required: true + type: choice + options: + - 'qa' + - 'prod' + - 'custom' zitadel-api-url: description: 'ZITADEL API URL' required: false From 95a2cd79ff6e0e07ddbb25eda7f11110acb7f30d Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:52:54 +0100 Subject: [PATCH 11/31] json --- .github/workflows/test.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ad08f02f..e9157f2c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,13 +37,13 @@ jobs: id: prepare-matrix run: | if [ -z "${{ github.event.schedule }}" ]; then - echo "matrix=$(echo '[\"test:acceptance:qa\", \"test:acceptance:prod\"]' | jq -R .)" >> $GITHUB_OUTPUT - elif [ -z "${{ github.event.inputs.zitadel-env }}" ]; then - echo "matrix=$(echo '[\"test:acceptance:${{ github.event.inputs.zitadel-env }}\"]' | jq -R .)" >> $GITHUB_OUTPUT - elif [ -z "${{ github.event.inputs.zitadel-api-url }}" ]; then - echo "matrix=$(echo '[\"test:acceptance:custom\"]' | jq -R .)" >> $GITHUB_OUTPUT + echo 'matrix=["test:acceptance:qa", "test:acceptance:prod"]' >> $GITHUB_OUTPUT + elif [ -n "${{ github.event.inputs.zitadel-env }}" ]; then + echo "matrix=[\"test:acceptance:${{ github.event.inputs.zitadel-env }}\"]" >> $GITHUB_OUTPUT + elif [ -n "${{ github.event.inputs.zitadel-api-url }}" ]; then + echo 'matrix=["test:acceptance:custom"]' >> $GITHUB_OUTPUT else - echo "matrix=$(echo '[\"format --check\", \"lint\", \"test:unit\", \"test:integration\", \"test:acceptance\"]' | jq -R .)" >> $GITHUB_OUTPUT + echo 'matrix=["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' >> $GITHUB_OUTPUT fi quality: From be6e63e87ad10663d26aa3d17c984e4350e6793d Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:55:33 +0100 Subject: [PATCH 12/31] json --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e9157f2c..c6fae8e7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,7 +39,7 @@ jobs: if [ -z "${{ github.event.schedule }}" ]; then echo 'matrix=["test:acceptance:qa", "test:acceptance:prod"]' >> $GITHUB_OUTPUT elif [ -n "${{ github.event.inputs.zitadel-env }}" ]; then - echo "matrix=[\"test:acceptance:${{ github.event.inputs.zitadel-env }}\"]" >> $GITHUB_OUTPUT + echo 'matrix=["test:acceptance:${{ github.event.inputs.zitadel-env }}"]' >> $GITHUB_OUTPUT elif [ -n "${{ github.event.inputs.zitadel-api-url }}" ]; then echo 'matrix=["test:acceptance:custom"]' >> $GITHUB_OUTPUT else From 565041f365255d79b36276ccd40e94b88840c7d8 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:56:59 +0100 Subject: [PATCH 13/31] debug --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c6fae8e7..b3d33f87 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -45,6 +45,8 @@ jobs: else echo 'matrix=["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' >> $GITHUB_OUTPUT fi + - name: Show Matrix + run: echo ${{ steps.prepare-matrix.outputs.matrix }} | jq quality: name: Ensure Quality From def3174f74dd052bc2b90ccfecdbcc488469a0c1 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 12:58:02 +0100 Subject: [PATCH 14/31] debug --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b3d33f87..be374886 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,7 +28,7 @@ on: jobs: matrix: # If the workflow is triggered by a schedule event, only the acceptance tests run against QA and Prod. - name: Preparte Matrix + name: Prepare Matrix runs-on: ubuntu-latest outputs: matrix: ${{ steps.prepare-matrix.outputs.matrix }} @@ -46,7 +46,7 @@ jobs: echo 'matrix=["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' >> $GITHUB_OUTPUT fi - name: Show Matrix - run: echo ${{ steps.prepare-matrix.outputs.matrix }} | jq + run: echo '${{ steps.prepare-matrix.outputs.matrix }}' | jq quality: name: Ensure Quality From e12d3c7015b7afab0fc8cf6e6c86a8c2bf1783f6 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 13:04:21 +0100 Subject: [PATCH 15/31] quote --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index be374886..d8b9761a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,7 +28,7 @@ on: jobs: matrix: # If the workflow is triggered by a schedule event, only the acceptance tests run against QA and Prod. - name: Prepare Matrix + name: Preparte Matrix runs-on: ubuntu-latest outputs: matrix: ${{ steps.prepare-matrix.outputs.matrix }} @@ -46,7 +46,7 @@ jobs: echo 'matrix=["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' >> $GITHUB_OUTPUT fi - name: Show Matrix - run: echo '${{ steps.prepare-matrix.outputs.matrix }}' | jq + run: echo ${{ steps.prepare-matrix.outputs.matrix }} | jq quality: name: Ensure Quality @@ -61,7 +61,7 @@ jobs: strategy: fail-fast: false matrix: - command: ${{ fromJson( needs.prepare-matrix.outputs.matrix ) }} + command: "${{ fromJson( needs.prepare-matrix.outputs.matrix ) }}" steps: - name: Checkout Repo From c3868977ef2f61ee3e7a7e82bff0b7b0c7419001 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 13:09:17 +0100 Subject: [PATCH 16/31] quote --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d8b9761a..64878ddc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,7 +46,7 @@ jobs: echo 'matrix=["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' >> $GITHUB_OUTPUT fi - name: Show Matrix - run: echo ${{ steps.prepare-matrix.outputs.matrix }} | jq + run: echo '${{ steps.prepare-matrix.outputs.matrix }}' | jq quality: name: Ensure Quality @@ -61,7 +61,7 @@ jobs: strategy: fail-fast: false matrix: - command: "${{ fromJson( needs.prepare-matrix.outputs.matrix ) }}" + command: '${{ fromJson( needs.prepare-matrix.outputs.matrix ) }}' steps: - name: Checkout Repo From d4898943f4102e994a26435462661686697d3dc3 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 13:10:34 +0100 Subject: [PATCH 17/31] quote --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 64878ddc..37186b8c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,7 +46,7 @@ jobs: echo 'matrix=["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' >> $GITHUB_OUTPUT fi - name: Show Matrix - run: echo '${{ steps.prepare-matrix.outputs.matrix }}' | jq + run: echo '${{ fromJson( steps.prepare-matrix.outputs.matrix ) }}' quality: name: Ensure Quality From 74db49e7d2bf7354f38f0e8f02a6be7f27edbbf2 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 13:11:34 +0100 Subject: [PATCH 18/31] quote --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 37186b8c..83fdd00b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,7 +46,7 @@ jobs: echo 'matrix=["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' >> $GITHUB_OUTPUT fi - name: Show Matrix - run: echo '${{ fromJson( steps.prepare-matrix.outputs.matrix ) }}' + run: echo '${{ steps.prepare-matrix.outputs.matrix }}' quality: name: Ensure Quality @@ -61,7 +61,7 @@ jobs: strategy: fail-fast: false matrix: - command: '${{ fromJson( needs.prepare-matrix.outputs.matrix ) }}' + command: ${{ needs.prepare-matrix.outputs.matrix }} steps: - name: Checkout Repo From 71d9f99f746b5c263930a5f3c65005b85ef37820 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 13:14:07 +0100 Subject: [PATCH 19/31] id --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 83fdd00b..ece95547 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,9 +26,9 @@ on: required: false jobs: - matrix: + prepare-matrix: # If the workflow is triggered by a schedule event, only the acceptance tests run against QA and Prod. - name: Preparte Matrix + name: Prepare Matrix runs-on: ubuntu-latest outputs: matrix: ${{ steps.prepare-matrix.outputs.matrix }} @@ -61,7 +61,7 @@ jobs: strategy: fail-fast: false matrix: - command: ${{ needs.prepare-matrix.outputs.matrix }} + command: ${{ fromJson( needs.prepare-matrix.outputs.matrix ) }} steps: - name: Checkout Repo From fab9206e7ebafe66fa8bbb745f23ba2f5c7b0c29 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 13:20:19 +0100 Subject: [PATCH 20/31] debug --- .github/workflows/test.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ece95547..921e84d6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -48,6 +48,16 @@ jobs: - name: Show Matrix run: echo '${{ steps.prepare-matrix.outputs.matrix }}' + debug: + name: Debug matrix + runs-on: ubuntu-latest + steps: + - name: Debug matrix + run: echo ${{ needs.prepare-matrix.outputs.matrix }} + - name: Debug fromJson + run: echo ${{ fromJson(needs.prepare-matrix.outputs.matrix) }} + + quality: name: Ensure Quality From ef7fd863a57b5eb9d7a03aad51535f0d659eb7aa Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 13:25:06 +0100 Subject: [PATCH 21/31] no dashes --- .github/workflows/test.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 921e84d6..802d10bb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,15 +26,15 @@ on: required: false jobs: - prepare-matrix: + matrix: # If the workflow is triggered by a schedule event, only the acceptance tests run against QA and Prod. - name: Prepare Matrix + name: Matrix runs-on: ubuntu-latest outputs: - matrix: ${{ steps.prepare-matrix.outputs.matrix }} + matrix: ${{ steps.matrix.outputs.matrix }} steps: - - name: Prepare Matrix - id: prepare-matrix + - name: Matrix + id: matrix run: | if [ -z "${{ github.event.schedule }}" ]; then echo 'matrix=["test:acceptance:qa", "test:acceptance:prod"]' >> $GITHUB_OUTPUT @@ -46,16 +46,16 @@ jobs: echo 'matrix=["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' >> $GITHUB_OUTPUT fi - name: Show Matrix - run: echo '${{ steps.prepare-matrix.outputs.matrix }}' + run: echo '${{ steps.matrix.outputs.matrix }}' debug: name: Debug matrix runs-on: ubuntu-latest steps: - name: Debug matrix - run: echo ${{ needs.prepare-matrix.outputs.matrix }} + run: echo ${{ needs.matrix.outputs.matrix }} - name: Debug fromJson - run: echo ${{ fromJson(needs.prepare-matrix.outputs.matrix) }} + run: echo ${{ fromJson(needs.matrix.outputs.matrix) }} quality: @@ -71,7 +71,7 @@ jobs: strategy: fail-fast: false matrix: - command: ${{ fromJson( needs.prepare-matrix.outputs.matrix ) }} + command: ${{ fromJson( needs.matrix.outputs.matrix ) }} steps: - name: Checkout Repo From cf47029e8984a85721bfc9e2a40ad3d55f3f60d4 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 13:26:14 +0100 Subject: [PATCH 22/31] needs matrix --- .github/workflows/test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 802d10bb..76189473 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -51,6 +51,8 @@ jobs: debug: name: Debug matrix runs-on: ubuntu-latest + needs: + - matrix steps: - name: Debug matrix run: echo ${{ needs.matrix.outputs.matrix }} @@ -68,6 +70,9 @@ jobs: permissions: contents: "read" + needs: + - matrix + strategy: fail-fast: false matrix: From b1f3d72256195eeb216dd4f3beaa37bb8ef8b97d Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 13:31:50 +0100 Subject: [PATCH 23/31] -n --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 76189473..84175b3c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -36,7 +36,7 @@ jobs: - name: Matrix id: matrix run: | - if [ -z "${{ github.event.schedule }}" ]; then + if [ -n "${{ github.event.schedule }}" ]; then echo 'matrix=["test:acceptance:qa", "test:acceptance:prod"]' >> $GITHUB_OUTPUT elif [ -n "${{ github.event.inputs.zitadel-env }}" ]; then echo 'matrix=["test:acceptance:${{ github.event.inputs.zitadel-env }}"]' >> $GITHUB_OUTPUT From 857dd9101de5abb12ec192f7d1e1762ec6889a12 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 13:58:58 +0100 Subject: [PATCH 24/31] acceptance --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 84175b3c..b55f565b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -142,9 +142,9 @@ jobs: run: pnpm build if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' || matrix.command == 'test:acceptance:custom' }} env: - ZITADEL_API_URL: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-api-url || matrix.command == 'test:acceptance:qa' && secrets.E2E_QA_ZITADEL_API_URL || secrets.E2E_PROD_ZITADEL_API_URL }} - ZITADEL_SERVICE_USER_ID: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-id || matrix.command == 'test:acceptance:qa' && secrets.E2E_QA_ZITADEL_SERVICE_USER_ID || secrets.E2E_PROD_ZITADEL_SERVICE_USER_ID}} - ZITADEL_SERVICE_USER_TOKEN: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-token || matrix.command == 'test:acceptance:qa' && secrets.E2E_QA_ZITADEL_SERVICE_USER_TOKEN || secrets.E2E_PROD_ZITADEL_SERVICE_USER_TOKEN}} + ZITADEL_API_URL: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-api-url || matrix.command == 'test:acceptance:qa' && secrets.ACCEPTANCE_QA_ZITADEL_API_URL || secrets.ACCEPTANCE_PROD_ZITADEL_API_URL }} + ZITADEL_SERVICE_USER_ID: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-id || matrix.command == 'test:acceptance:qa' && secrets.ACCEPTANCE_QA_ZITADEL_SERVICE_USER_ID || secrets.ACCEPTANCE_PROD_ZITADEL_SERVICE_USER_ID}} + ZITADEL_SERVICE_USER_TOKEN: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-token || matrix.command == 'test:acceptance:qa' && secrets.ACCEPTANCE_QA_ZITADEL_SERVICE_USER_TOKEN || secrets.ACCEPTANCE_PROD_ZITADEL_SERVICE_USER_TOKEN}} - name: Check id: check From 6600ca214797ce701468a996018e823421667057 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 14:32:21 +0100 Subject: [PATCH 25/31] cleanup --- .github/workflows/test.yml | 50 ++++++++------------------------------ 1 file changed, 10 insertions(+), 40 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b55f565b..a385305f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,27 +3,17 @@ name: Quality on: pull_request: schedule: - # All 1 minutes - - cron: '* * * * *' + # Every morning at 6:00 AM CET + - cron: '0 4 * * *' workflow_dispatch: inputs: - zitadel-env: - description: 'ZITADEL ENVIRONMENT' + target-env: + description: 'Zitadel target environment to run the acceptance tests against.' required: true type: choice options: - 'qa' - 'prod' - - 'custom' - zitadel-api-url: - description: 'ZITADEL API URL' - required: false - zitadel-service-user-id: - description: 'ZITADEL SERVICE USER ID' - required: false - zitadel-service-user-token: - description: 'ZITADEL SERVICE USER TOKEN' - required: false jobs: matrix: @@ -38,27 +28,11 @@ jobs: run: | if [ -n "${{ github.event.schedule }}" ]; then echo 'matrix=["test:acceptance:qa", "test:acceptance:prod"]' >> $GITHUB_OUTPUT - elif [ -n "${{ github.event.inputs.zitadel-env }}" ]; then - echo 'matrix=["test:acceptance:${{ github.event.inputs.zitadel-env }}"]' >> $GITHUB_OUTPUT - elif [ -n "${{ github.event.inputs.zitadel-api-url }}" ]; then - echo 'matrix=["test:acceptance:custom"]' >> $GITHUB_OUTPUT + elif [ -n "${{ github.event.inputs.target-env }}" ]; then + echo 'matrix=["test:acceptance:${{ github.event.inputs.target-env }}"]' >> $GITHUB_OUTPUT else echo 'matrix=["format --check", "lint", "test:unit", "test:integration", "test:acceptance"]' >> $GITHUB_OUTPUT fi - - name: Show Matrix - run: echo '${{ steps.matrix.outputs.matrix }}' - - debug: - name: Debug matrix - runs-on: ubuntu-latest - needs: - - matrix - steps: - - name: Debug matrix - run: echo ${{ needs.matrix.outputs.matrix }} - - name: Debug fromJson - run: echo ${{ fromJson(needs.matrix.outputs.matrix) }} - quality: name: Ensure Quality @@ -134,17 +108,13 @@ jobs: run: ZITADEL_DEV_UID=root pnpm run-zitadel if: ${{ matrix.command == 'test:acceptance' }} - - name: Create Production Build - run: pnpm build - if: ${{ matrix.command == 'test:acceptance' }} + - name: Create Cloud Env File + run: echo "${{ matrix.command == 'test:acceptance:prod' && secrets.ENV_FILE_CONTENT_ACCEPTANCE_PROD || secrets.ENV_FILE_CONTENT_ACCEPTANCE_QA }}" >> apps/login/.env.local + if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' }} - name: Create Production Build run: pnpm build - if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' || matrix.command == 'test:acceptance:custom' }} - env: - ZITADEL_API_URL: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-api-url || matrix.command == 'test:acceptance:qa' && secrets.ACCEPTANCE_QA_ZITADEL_API_URL || secrets.ACCEPTANCE_PROD_ZITADEL_API_URL }} - ZITADEL_SERVICE_USER_ID: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-id || matrix.command == 'test:acceptance:qa' && secrets.ACCEPTANCE_QA_ZITADEL_SERVICE_USER_ID || secrets.ACCEPTANCE_PROD_ZITADEL_SERVICE_USER_ID}} - ZITADEL_SERVICE_USER_TOKEN: ${{ matrix.command == 'test:acceptance:custom' && github.event.inputs.zitadel-service-user-token || matrix.command == 'test:acceptance:qa' && secrets.ACCEPTANCE_QA_ZITADEL_SERVICE_USER_TOKEN || secrets.ACCEPTANCE_PROD_ZITADEL_SERVICE_USER_TOKEN}} + if: ${{ startsWith(matrix.command, 'test:acceptance') }} - name: Check id: check From 30f4347575fcaada25752f59f0f7936d5a4b8c78 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 14:36:18 +0100 Subject: [PATCH 26/31] overwritable image --- acceptance/docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/acceptance/docker-compose.yaml b/acceptance/docker-compose.yaml index 4ba64880..b8d74b80 100644 --- a/acceptance/docker-compose.yaml +++ b/acceptance/docker-compose.yaml @@ -1,7 +1,7 @@ services: zitadel: user: "${ZITADEL_DEV_UID}" - image: ghcr.io/zitadel/zitadel:v2.65.0 + image: "${ZITADEL_IMAGE:-ghcr.io/zitadel/zitadel:v2.65.0}" command: 'start-from-init --masterkey "MasterkeyNeedsToHave32Characters" --tlsMode disabled --config /zitadel.yaml --steps /zitadel.yaml' ports: - "8080:8080" From c7cfbb6eacbaf06437c279644bbcece5db2cefe4 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 14:49:40 +0100 Subject: [PATCH 27/31] debug --- .github/workflows/test.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a385305f..085ef8ef 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -109,7 +109,11 @@ jobs: if: ${{ matrix.command == 'test:acceptance' }} - name: Create Cloud Env File - run: echo "${{ matrix.command == 'test:acceptance:prod' && secrets.ENV_FILE_CONTENT_ACCEPTANCE_PROD || secrets.ENV_FILE_CONTENT_ACCEPTANCE_QA }}" >> apps/login/.env.local + run: echo "${{ matrix.command == 'test:acceptance:prod' && secrets.ENV_FILE_CONTENT_ACCEPTANCE_PROD || secrets.ENV_FILE_CONTENT_ACCEPTANCE_QA }}" > apps/login/.env.local + if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' }} + + - name: DEBUG + run: head -c 25 apps/login/.env.local if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' }} - name: Create Production Build From 9b3765098f6271c1281af8ab98ecf8105b5a7b0e Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 14:55:29 +0100 Subject: [PATCH 28/31] debug --- .github/workflows/test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 085ef8ef..6fd60cb7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -113,7 +113,9 @@ jobs: if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' }} - name: DEBUG - run: head -c 25 apps/login/.env.local + run: | + head -c 54 apps/login/.env.local + wc -l apps/login/.env.local if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' }} - name: Create Production Build From 01fc92e307a566d0dc93600ebf4a40c3aacd9d93 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 15:25:46 +0100 Subject: [PATCH 29/31] dont build --- playwright.config.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/playwright.config.ts b/playwright.config.ts index 0ca27fe1..f7dc3a77 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -72,10 +72,13 @@ export default defineConfig({ ], /* Run local dev server before starting the tests */ + /* webServer: { command: "pnpm start:built", url: "http://127.0.0.1:3000", reuseExistingServer: !process.env.CI, timeout: 5 * 60_000, }, + + */ }); From d887493e946e309bdb4218e1be47bb9a5534398c Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 15:34:01 +0100 Subject: [PATCH 30/31] tee --- .github/workflows/test.yml | 8 +------- playwright.config.ts | 4 +--- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6fd60cb7..6872502a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -109,13 +109,7 @@ jobs: if: ${{ matrix.command == 'test:acceptance' }} - name: Create Cloud Env File - run: echo "${{ matrix.command == 'test:acceptance:prod' && secrets.ENV_FILE_CONTENT_ACCEPTANCE_PROD || secrets.ENV_FILE_CONTENT_ACCEPTANCE_QA }}" > apps/login/.env.local - if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' }} - - - name: DEBUG - run: | - head -c 54 apps/login/.env.local - wc -l apps/login/.env.local + run: echo "${{ matrix.command == 'test:acceptance:prod' && secrets.ENV_FILE_CONTENT_ACCEPTANCE_PROD || secrets.ENV_FILE_CONTENT_ACCEPTANCE_QA }}" | tee apps/login/.env.local acceptance/tests/.env.local > /dev/null if: ${{ matrix.command == 'test:acceptance:qa' || matrix.command == 'test:acceptance:prod' }} - name: Create Production Build diff --git a/playwright.config.ts b/playwright.config.ts index f7dc3a77..2d82212a 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -72,13 +72,11 @@ export default defineConfig({ ], /* Run local dev server before starting the tests */ - /* + webServer: { command: "pnpm start:built", url: "http://127.0.0.1:3000", reuseExistingServer: !process.env.CI, timeout: 5 * 60_000, }, - - */ }); From 6c7a1b9732c42055442d6542a43a836b002d0bd5 Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 27 Nov 2024 15:48:58 +0100 Subject: [PATCH 31/31] lint --- playwright.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright.config.ts b/playwright.config.ts index 2d82212a..342a3024 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -72,7 +72,7 @@ export default defineConfig({ ], /* Run local dev server before starting the tests */ - + webServer: { command: "pnpm start:built", url: "http://127.0.0.1:3000",