From c5080463aa966ecfe741048f1d46c0c5e977898d Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Wed, 13 Aug 2025 10:44:57 +0200 Subject: [PATCH] chore: retry login integration tests (#10422) # Which Problems Are Solved The login integration action page load in the idp test times out sometimes. Also, the debug steps fail, which cause confusion about why the pipeline check failed. # How the Problems Are Solved - We retry failed tests twice, which should alleviate flakiness because of eventual consistency. This is fine for now, because typically, a user doesn't send input as fast as the tests do. - The compose file path is fixed. - ~~As suggested in the cypress error logs, we increase the pageLoadTimeout.~~ The increased pageLoadTimeout didn't help. # Additional Context - Example of a failing check: https://github.com/zitadel/zitadel/actions/runs/16829948857/attempts/1 --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Max Peintner --- .github/workflows/login-integration-test.yml | 6 +++--- apps/login/cypress.config.ts | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/login-integration-test.yml b/.github/workflows/login-integration-test.yml index e082d88432..5aea6d8f7a 100644 --- a/.github/workflows/login-integration-test.yml +++ b/.github/workflows/login-integration-test.yml @@ -39,15 +39,15 @@ jobs: echo "You will have the same environment as the pipeline check as well as some guidance on how to fix the errors." - name: Show Compose Status if: failure() - run: docker compose --file .devcontainer/base/docker-compose.yaml --file .devcontainer/login-integration-ci/docker-compose.yaml ps + run: docker compose --file .devcontainer/base/docker-compose.yaml --file .devcontainer/login-integration/docker-compose.yaml ps - name: Print Config if: failure() - run: COMPOSE_BAKE=1 docker compose --file .devcontainer/base/docker-compose.yaml --file .devcontainer/login-integration-ci/docker-compose.yaml config login-integration + run: COMPOSE_BAKE=1 docker compose --file .devcontainer/base/docker-compose.yaml --file .devcontainer/login-integration/docker-compose.yaml config login-integration env: LOGIN_TAG: ${{ inputs.login_build_image }} - name: Show Container Logs if: failure() - run: docker compose --file .devcontainer/base/docker-compose.yaml --file .devcontainer/login-integration-ci/docker-compose.yaml logs --timestamps --no-color --tail 100 login-integration + run: docker compose --file .devcontainer/base/docker-compose.yaml --file .devcontainer/login-integration/docker-compose.yaml logs --timestamps --no-color --tail 100 login-integration - name: Inspect All Failed Containers if: failure() run: | diff --git a/apps/login/cypress.config.ts b/apps/login/cypress.config.ts index 36442d89b9..f5bae5fe90 100644 --- a/apps/login/cypress.config.ts +++ b/apps/login/cypress.config.ts @@ -3,6 +3,9 @@ import { defineConfig } from "cypress"; export default defineConfig({ reporter: "list", video: true, + retries: { + runMode: 2 + }, e2e: { baseUrl: process.env.LOGIN_BASE_URL || "http://localhost:3001/ui/v2/login", specPattern: "integration/integration/**/*.cy.{js,jsx,ts,tsx}",