name: "ZITADEL e2e Tests" on: workflow_call: jobs: test: timeout-minutes: 10 strategy: fail-fast: false matrix: browser: [firefox, chrome] runs-on: group: zitadel-public steps: - name: Checkout Repository uses: actions/checkout@v4 - uses: actions/download-artifact@v4 with: path: .artifacts name: zitadel-linux-amd64 - name: Unpack executable run: | tar -xvf .artifacts/zitadel-linux-amd64.tar.gz mv zitadel-linux-amd64/zitadel ./zitadel - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: driver-opts: 'image=moby/buildkit:v0.11.6' - name: Start DB and ZITADEL run: | cd ./e2e ZITADEL_IMAGE=zitadel:local docker compose up --detach --wait - name: Cypress run uses: cypress-io/github-action@v6 env: CYPRESS_BASE_URL: http://localhost:8080/ui/console CYPRESS_WEBHOOK_HANDLER_HOST: host.docker.internal CYPRESS_DATABASE_CONNECTION_URL: 'postgresql://root@localhost:26257/zitadel' CYPRESS_BACKEND_URL: http://localhost:8080 with: working-directory: e2e browser: ${{ matrix.browser }} command: npm run e2e config-file: cypress.config.ts - uses: actions/upload-artifact@v4 if: always() with: name: production-tests-${{ matrix.browser }} path: | e2e/cypress/screenshots e2e/cypress/videos e2e/cypress/results retention-days: 30