TEST-INFRA: [ci-pipeline-design] Optimize job dependencies and sequencing #1622

Closed
opened 2026-04-02 23:16:31 +00:00 by freemo · 2 comments
Owner

Metadata

  • Branch: task/v3.8.0-ci-optimize-job-sequencing
  • Commit Message: chore(ci): optimize job dependencies and sequencing for faster feedback and resource savings
  • Milestone: v3.8.0
  • Parent Epic: (to be linked — see orphan note below)

Background and Context

The current CI pipeline in .forgejo/workflows/ci.yml runs many jobs in parallel. While parallelism is generally beneficial, some jobs could be sequenced to save resources and provide faster feedback to developers.

Specifically, slower, more expensive test jobs (integration_tests, e2e_tests) are currently run regardless of whether the fast unit_tests job passes. If unit tests fail, the pipeline should short-circuit and skip the slower downstream jobs, saving CI resources and surfacing failures faster.

Area: CI/CD

Subtasks

  • Sequence test jobs: Update .forgejo/workflows/ci.yml so that integration_tests and e2e_tests jobs declare needs: [unit_tests]. If unit_tests fails, the subsequent slower test jobs are automatically skipped.
  • Review other job dependencies: Audit all other jobs in the pipeline for additional sequencing opportunities (e.g., evaluate whether the build job should depend on unit_tests passing).
  • Validate pipeline logic: Ensure the updated needs: graph does not introduce unintended blocking or circular dependencies.
  • Test the updated workflow: Trigger a CI run to confirm the new sequencing behaves as expected — fast failures on unit_tests skip downstream jobs, and a full pass runs all jobs in the correct order.

Definition of Done

  • All subtasks above are checked off.
  • .forgejo/workflows/ci.yml is updated with explicit needs: declarations sequencing integration_tests and e2e_tests after unit_tests.
  • Any additional sequencing improvements identified during the audit are implemented or tracked as follow-up issues.
  • A CI run confirms the pipeline behaves correctly under both pass and fail scenarios for unit_tests.
  • The commit is created with the exact message above and pushed to the branch task/v3.8.0-ci-optimize-job-sequencing.
  • The resulting pull request has been successfully merged.
  • All nox stages pass
  • Coverage >= 97%

⚠️ Orphan Notice: No parent Epic was provided at issue creation time. This issue must be manually linked to the appropriate TEST-INFRA: [ci-pipeline-design] Epic before work begins. Orphan issues are not permitted per CONTRIBUTING.md.


Automated by CleverAgents Bot
Supervisor: Test Infrastructure | Agent: ca-new-issue-creator

## Metadata - **Branch**: `task/v3.8.0-ci-optimize-job-sequencing` - **Commit Message**: `chore(ci): optimize job dependencies and sequencing for faster feedback and resource savings` - **Milestone**: v3.8.0 - **Parent Epic**: *(to be linked — see orphan note below)* ## Background and Context The current CI pipeline in `.forgejo/workflows/ci.yml` runs many jobs in parallel. While parallelism is generally beneficial, some jobs could be sequenced to save resources and provide faster feedback to developers. Specifically, slower, more expensive test jobs (`integration_tests`, `e2e_tests`) are currently run regardless of whether the fast `unit_tests` job passes. If unit tests fail, the pipeline should short-circuit and skip the slower downstream jobs, saving CI resources and surfacing failures faster. **Area**: CI/CD ## Subtasks - [ ] **Sequence test jobs**: Update `.forgejo/workflows/ci.yml` so that `integration_tests` and `e2e_tests` jobs declare `needs: [unit_tests]`. If `unit_tests` fails, the subsequent slower test jobs are automatically skipped. - [ ] **Review other job dependencies**: Audit all other jobs in the pipeline for additional sequencing opportunities (e.g., evaluate whether the `build` job should depend on `unit_tests` passing). - [ ] **Validate pipeline logic**: Ensure the updated `needs:` graph does not introduce unintended blocking or circular dependencies. - [ ] **Test the updated workflow**: Trigger a CI run to confirm the new sequencing behaves as expected — fast failures on `unit_tests` skip downstream jobs, and a full pass runs all jobs in the correct order. ## Definition of Done - [ ] All subtasks above are checked off. - [ ] `.forgejo/workflows/ci.yml` is updated with explicit `needs:` declarations sequencing `integration_tests` and `e2e_tests` after `unit_tests`. - [ ] Any additional sequencing improvements identified during the audit are implemented or tracked as follow-up issues. - [ ] A CI run confirms the pipeline behaves correctly under both pass and fail scenarios for `unit_tests`. - [ ] The commit is created with the exact message above and pushed to the branch `task/v3.8.0-ci-optimize-job-sequencing`. - [ ] The resulting pull request has been successfully merged. - All nox stages pass - Coverage >= 97% --- > ⚠️ **Orphan Notice**: No parent Epic was provided at issue creation time. This issue must be manually linked to the appropriate `TEST-INFRA: [ci-pipeline-design]` Epic before work begins. Orphan issues are not permitted per CONTRIBUTING.md. --- **Automated by CleverAgents Bot** Supervisor: Test Infrastructure | Agent: ca-new-issue-creator
freemo added this to the v3.8.0 milestone 2026-04-02 23:19:15 +00:00
Author
Owner

⚠️ Orphan Issue — Manual Linking Required

This issue was created without a confirmed parent Epic. Per CONTRIBUTING.md, orphan issues are not permitted — every regular issue must be linked to a parent Epic using Forgejo's dependency system (child blocks parent).

Action required: A maintainer must identify the appropriate TEST-INFRA: [ci-pipeline-design] Epic and create the dependency link so that this issue blocks that Epic.

Candidate parent Epics in the ci-pipeline-design workstream (all currently also orphaned):

  • #1540 — Introduce Reusable Workflows to Reduce Duplication
  • #1539 — Use Matrix Strategy for Python Versions
  • #1535 — Consolidate uv Cache Key

If no suitable Epic exists, one should be created first, and this issue linked as a child.


Automated by CleverAgents Bot
Supervisor: Test Infrastructure | Agent: ca-new-issue-creator

⚠️ **Orphan Issue — Manual Linking Required** This issue was created without a confirmed parent Epic. Per `CONTRIBUTING.md`, orphan issues are **not permitted** — every regular issue must be linked to a parent Epic using Forgejo's dependency system (child **blocks** parent). **Action required**: A maintainer must identify the appropriate `TEST-INFRA: [ci-pipeline-design]` Epic and create the dependency link so that this issue **blocks** that Epic. Candidate parent Epics in the `ci-pipeline-design` workstream (all currently also orphaned): - #1540 — Introduce Reusable Workflows to Reduce Duplication - #1539 — Use Matrix Strategy for Python Versions - #1535 — Consolidate uv Cache Key If no suitable Epic exists, one should be created first, and this issue linked as a child. --- **Automated by CleverAgents Bot** Supervisor: Test Infrastructure | Agent: ca-new-issue-creator
Author
Owner

Closing as duplicate of #1604 (CI setup consolidation). This CI improvement is already tracked.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Closing as duplicate of #1604 (CI setup consolidation). This CI improvement is already tracked. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo 2026-04-02 23:31:00 +00:00
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#1622
No description provided.