name: E2E Tests on: push: branches: - main pull_request: branches: - main workflow_dispatch: jobs: e2e: name: Playwright API E2E runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Run E2E Tests run: | docker compose -f test-automation/docker-compose.e2e.yml up \ --build \ --abort-on-container-exit \ --exit-code-from e2e-runner - name: Upload JUnit Report uses: actions/upload-artifact@v4 if: always() with: name: e2e-junit-report path: test-automation/e2e-results/junit.xml retention-days: 30 - name: Upload Playwright HTML Report uses: actions/upload-artifact@v4 if: always() with: name: e2e-html-report path: test-automation/e2e-results/ retention-days: 7 - name: Cleanup if: always() run: docker compose -f test-automation/docker-compose.e2e.yml down --volumes --remove-orphans