Bug: E2E tests create circular dependency blocking image deployment #96

Open
opened 2026-03-29 03:20:57 +00:00 by forgejo_admin · 0 comments
Contributor

Type

Bug

Lineage

  • Board: board-pal-e-docs
  • Story: story:reader-browse
  • Arch: arch:ci-pipeline
  • Discovered from: pal-e-platform#234 (ImagePullBackOff investigation)

Repo

forgejo_admin/pal-e-docs-app

What Broke

The Woodpecker CI pipeline has a circular dependency:

  1. E2E tests run against the live deployed app at pal-e-docs-app.tail5b443a.ts.net
  2. The live app is down (ImagePullBackOff) because kustomize has a stale image tag
  3. Tests fail because the live app is unreachable (36/52 timeouts)
  4. update-kustomize-tag is skipped because tests failed
  5. The app stays down forever — goto 1

Repro Steps

  1. Any situation where the live pod is down
  2. Push to main triggers pipeline
  3. Tests fail (app unreachable)
  4. Kustomize tag never updates
  5. Pod stays down

Expected Behavior

Image deployment should not be blocked by E2E tests that depend on the live deployment being up.

Environment

  • Pipeline: .woodpecker.yml
  • Step dependency: test gates update-kustomize-tag
  • Tests: Playwright E2E against live URL

Acceptance Criteria

  • update-kustomize-tag runs even when E2E tests fail (gated only on build-and-push)
  • E2E tests still run and report failures but don't block deployment
  • Pipeline structure documented

Constraints

  • Don't remove E2E tests — just decouple them from the deploy gate
  • Consider making tests a post-deploy step or separate pipeline
  • pal-e-platform#234 — parent ImagePullBackOff issue
  • Pipeline #114 — the pipeline that exposed the circular dependency
### Type Bug ### Lineage - Board: board-pal-e-docs - Story: story:reader-browse - Arch: arch:ci-pipeline - Discovered from: pal-e-platform#234 (ImagePullBackOff investigation) ### Repo `forgejo_admin/pal-e-docs-app` ### What Broke The Woodpecker CI pipeline has a circular dependency: 1. E2E tests run against the live deployed app at `pal-e-docs-app.tail5b443a.ts.net` 2. The live app is down (ImagePullBackOff) because kustomize has a stale image tag 3. Tests fail because the live app is unreachable (36/52 timeouts) 4. `update-kustomize-tag` is skipped because tests failed 5. The app stays down forever — goto 1 ### Repro Steps 1. Any situation where the live pod is down 2. Push to main triggers pipeline 3. Tests fail (app unreachable) 4. Kustomize tag never updates 5. Pod stays down ### Expected Behavior Image deployment should not be blocked by E2E tests that depend on the live deployment being up. ### Environment - Pipeline: `.woodpecker.yml` - Step dependency: `test` gates `update-kustomize-tag` - Tests: Playwright E2E against live URL ### Acceptance Criteria - [ ] `update-kustomize-tag` runs even when E2E tests fail (gated only on `build-and-push`) - [ ] E2E tests still run and report failures but don't block deployment - [ ] Pipeline structure documented ### Constraints - Don't remove E2E tests — just decouple them from the deploy gate - Consider making tests a post-deploy step or separate pipeline ### Related - pal-e-platform#234 — parent ImagePullBackOff issue - Pipeline #114 — the pipeline that exposed the circular dependency
Commenting is not possible because the repository is archived.
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/pal-e-app#96
No description provided.