name: "ZITADEL e2e Tests" on: workflow_run: workflows: [ZITADEL Release] types: - completed workflow_dispatch: inputs: releaseversion: description: 'Release version to test' required: true default: 'latest' jobs: test: strategy: matrix: browser: [firefox, chrome] runs-on: ubuntu-20.04 env: ZITADEL_IMAGE_REGISTRY: 'ghcr.io/zitadel/zitadel' steps: - name: Checkout Repository uses: actions/checkout@v3 - name: Set TAG env manual trigger if: github.event_name == 'workflow_dispatch' run: echo "ZITADEL_IMAGE=${ZITADEL_IMAGE_REGISTRY}:${{ github.event.inputs.releaseversion }}" >> $GITHUB_ENV - name: get latest tag uses: actions-ecosystem/action-get-latest-tag@v1 id: get-latest-tag with: semver_only: true - name: Set TAG env on ZITADEL release if: github.event_name == 'workflow_run' run: echo "ZITADEL_IMAGE=${ZITADEL_IMAGE_REGISTRY}:${{ steps.get-latest-tag.outputs.tag }}" >> $GITHUB_ENV - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 with: driver: docker install: true - name: Test ${{ matrix.browser }} run: docker compose run e2e --browser ${{ matrix.browser }} working-directory: e2e - name: Ensure Artifacts Directory Exists run: mkdir -p ./.artifacts - name: Save ZITADEL Logs if: always() run: docker compose logs zitadel > ../.artifacts/e2e-compose-zitadel.log working-directory: e2e - name: Save Prepare Logs if: always() run: docker compose logs prepare > ../.artifacts/e2e-compose-prepare.log working-directory: e2e - name: Archive production tests ${{ matrix.browser }} if: always() uses: actions/upload-artifact@v3 with: name: production-tests-${{ matrix.browser }} path: | e2e/cypress/results e2e/cypress/videos e2e/cypress/screenshots .artifacts/e2e-compose-zitadel.log .artifacts/e2e-compose-prepare.log retention-days: 30