[AUTO-INF-5] Docker job missing dependencies on integration_tests and e2e_tests — builds images even when tests fail #10329

Open
opened 2026-04-18 08:48:04 +00:00 by HAL9000 · 0 comments
Owner

Metadata

  • Commit message: fix(ci): add test job dependencies to docker job in ci.yml
  • Branch name: fix/auto-inf-5-docker-missing-test-deps

Background and Context

In .forgejo/workflows/ci.yml, the docker job has needs: [lint, typecheck, security, quality, unit_tests] but is missing dependencies on integration_tests and e2e_tests. This means Docker images can be built even when integration or E2E tests fail.

Current state in ci.yml:

docker:
    needs: [lint, typecheck, security, quality, unit_tests]
    runs-on: docker
    # Missing: integration_tests, e2e_tests

This creates a quality gate gap:

  • If integration_tests fails (e.g., a critical integration issue), the Docker image is still built
  • If e2e_tests fails (e.g., end-to-end workflow broken), the Docker image is still built
  • Docker images may be pushed/released with broken integration or E2E functionality

Expected Behavior

The docker job should only run after all test jobs have passed successfully:

docker:
    needs: [lint, typecheck, security, quality, unit_tests, integration_tests, e2e_tests]
    runs-on: docker
    # ... existing steps unchanged

This ensures:

  • No Docker image is built if any test suite fails
  • Docker images are only built for code that passes all quality gates and tests
  • The quality gate chain is complete and unbroken

Acceptance Criteria

  • The docker job in .forgejo/workflows/ci.yml has needs: [lint, typecheck, security, quality, unit_tests, integration_tests, e2e_tests]
  • A CI run where integration_tests fails causes docker to be skipped/not started
  • A CI run where e2e_tests fails causes docker to be skipped/not started
  • No circular dependencies are introduced in the job graph
  • The status-check aggregator job still correctly aggregates all job results
  • All existing CI jobs continue to function correctly after the dependency update

Subtasks

  • Audit .forgejo/workflows/ci.yml for the docker job definition
  • Add integration_tests and e2e_tests to the needs list
  • Verify the updated dependency graph does not create circular dependencies
  • Confirm status-check still correctly depends on docker
  • Test the fix by triggering a CI run with a deliberate integration test failure to confirm docker is skipped

Definition of Done

This issue should be closed when:

  1. The docker job has all test jobs in its needs declaration in .forgejo/workflows/ci.yml
  2. A failing integration_tests or e2e_tests job provably prevents docker from starting
  3. The fix is merged to the main branch via a PR that passes all required CI checks
  4. No regression in the CI pipeline's ability to detect and report failures

Duplicate Check

Check Query / Source Result
Check 1 Open issues searched for docker job, docker needs, docker dependencies No existing issue specifically addresses docker job missing test dependencies
Check 2 Closed issues searched for same keywords No matches found
Check 3 Cross-area: #10240 "build and helm CI jobs have no needs dependencies" Covers build and helm jobs only — does NOT mention docker job
Check 4 Cross-area: #10067 "Add missing job dependencies in CI pipeline" Does not mention docker job
Check 5 Cross-area: #9783 "Reduce CI execution time" Does not specifically address docker job test dependencies

Conclusion: No duplicate found. This is a genuinely new, specific, actionable finding.


Automated by CleverAgents Bot
Supervisor: Test Infra Pool | Agent: test-infra-pool-supervisor

## Metadata - **Commit message:** `fix(ci): add test job dependencies to docker job in ci.yml` - **Branch name:** `fix/auto-inf-5-docker-missing-test-deps` ## Background and Context In `.forgejo/workflows/ci.yml`, the `docker` job has `needs: [lint, typecheck, security, quality, unit_tests]` but is missing dependencies on `integration_tests` and `e2e_tests`. This means Docker images can be built even when integration or E2E tests fail. **Current state in ci.yml:** ```yaml docker: needs: [lint, typecheck, security, quality, unit_tests] runs-on: docker # Missing: integration_tests, e2e_tests ``` This creates a quality gate gap: - If `integration_tests` fails (e.g., a critical integration issue), the Docker image is still built - If `e2e_tests` fails (e.g., end-to-end workflow broken), the Docker image is still built - Docker images may be pushed/released with broken integration or E2E functionality ## Expected Behavior The `docker` job should only run after all test jobs have passed successfully: ```yaml docker: needs: [lint, typecheck, security, quality, unit_tests, integration_tests, e2e_tests] runs-on: docker # ... existing steps unchanged ``` This ensures: - No Docker image is built if any test suite fails - Docker images are only built for code that passes all quality gates and tests - The quality gate chain is complete and unbroken ## Acceptance Criteria - [ ] The `docker` job in `.forgejo/workflows/ci.yml` has `needs: [lint, typecheck, security, quality, unit_tests, integration_tests, e2e_tests]` - [ ] A CI run where `integration_tests` fails causes `docker` to be skipped/not started - [ ] A CI run where `e2e_tests` fails causes `docker` to be skipped/not started - [ ] No circular dependencies are introduced in the job graph - [ ] The `status-check` aggregator job still correctly aggregates all job results - [ ] All existing CI jobs continue to function correctly after the dependency update ## Subtasks - [ ] Audit `.forgejo/workflows/ci.yml` for the `docker` job definition - [ ] Add `integration_tests` and `e2e_tests` to the `needs` list - [ ] Verify the updated dependency graph does not create circular dependencies - [ ] Confirm `status-check` still correctly depends on `docker` - [ ] Test the fix by triggering a CI run with a deliberate integration test failure to confirm `docker` is skipped ## Definition of Done This issue should be closed when: 1. The `docker` job has all test jobs in its `needs` declaration in `.forgejo/workflows/ci.yml` 2. A failing `integration_tests` or `e2e_tests` job provably prevents `docker` from starting 3. The fix is merged to the main branch via a PR that passes all required CI checks 4. No regression in the CI pipeline's ability to detect and report failures ### Duplicate Check | Check | Query / Source | Result | |-------|---------------|--------| | Check 1 | Open issues searched for `docker job`, `docker needs`, `docker dependencies` | No existing issue specifically addresses `docker` job missing test dependencies | | Check 2 | Closed issues searched for same keywords | No matches found | | Check 3 | Cross-area: #10240 "build and helm CI jobs have no needs dependencies" | Covers `build` and `helm` jobs only — does NOT mention `docker` job | | Check 4 | Cross-area: #10067 "Add missing job dependencies in CI pipeline" | Does not mention `docker` job | | Check 5 | Cross-area: #9783 "Reduce CI execution time" | Does not specifically address `docker` job test dependencies | **Conclusion:** No duplicate found. This is a genuinely new, specific, actionable finding. --- **Automated by CleverAgents Bot** Supervisor: Test Infra Pool | Agent: test-infra-pool-supervisor
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
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
cleveragents/cleveragents-core#10329
No description provided.