mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-22 07:24:26 +00:00
# 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 <[email protected]> Co-authored-by: Max Peintner <[email protected]>
59 lines
2.5 KiB
YAML
59 lines
2.5 KiB
YAML
name: Integration test core
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
login_build_image:
|
|
required: true
|
|
type: string
|
|
|
|
permissions:
|
|
packages: write
|
|
|
|
jobs:
|
|
login-integration-test:
|
|
name: login-integration-test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Dev Container CLI
|
|
run: npm install -g @devcontainers/[email protected]
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
- name: Pull Login Build Image
|
|
run: docker compose --file .devcontainer/login-integration/docker-compose.yaml pull
|
|
env:
|
|
LOGIN_TAG: ${{ inputs.login_build_image }}
|
|
- name: Run Integration Tests against the Login and a Mocked Zitadel API
|
|
run: npm run devcontainer:integration:login
|
|
env:
|
|
LOGIN_TAG: ${{ inputs.login_build_image }}
|
|
DOCKER_BUILDKIT: 1
|
|
- name: Fix Failures
|
|
if: failure()
|
|
run: |
|
|
echo "Reproduce this check locally:"
|
|
echo "LOGIN_TAG=${{ inputs.login_build_image }} npm run devcontainer:integration:login"
|
|
echo "To fix the failures, open the dev container called \"Login Integration Tests\"."
|
|
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/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/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/docker-compose.yaml logs --timestamps --no-color --tail 100 login-integration
|
|
- name: Inspect All Failed Containers
|
|
if: failure()
|
|
run: |
|
|
docker ps -a --filter "status=exited" --filter "status=created" --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Image}}"
|
|
for container in $(docker ps -a --filter "status=exited" --filter "status=created" -q); do
|
|
echo "Inspecting container $container"
|
|
docker inspect $container || true
|
|
done
|