TEST-INFRA: [ci-pipeline-design] Consolidate CI setup into a single job #1628

Closed
opened 2026-04-02 23:18:31 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: task/v3.8.0-ci-consolidate-setup-job
  • Commit Message: chore(ci): consolidate repeated setup steps into a single reusable setup job
  • Milestone: v3.8.0
  • Parent Epic: #397

Background and Context

The current CI pipeline in .forgejo/workflows/ci.yml has significant redundancy. Almost every job independently repeats the same initial steps:

  1. Install Node.js
  2. Checkout the code
  3. Install uv and nox

This duplication makes the pipeline inefficient (each job re-runs identical setup work) and harder to maintain (changes to setup steps must be replicated across every job).

Proposed Solution

Create a single setup job that performs these initial steps once. All downstream jobs should then declare a dependency on this setup job via the needs keyword and share the same workspace/cache. This eliminates redundancy and centralises setup logic in one place.

Subtasks

  • Create a new setup job in .forgejo/workflows/ci.yml that installs Node.js, checks out the code, and installs uv and nox.
  • Move the initial setup steps from all other jobs into the setup job.
  • Add needs: [setup] to all downstream jobs (lint, typecheck, security, quality, unit_tests, integration_tests, etc.).
  • Configure downstream jobs to reuse the workspace/cache produced by the setup job (via outputs or shared cache keys).
  • Verify the refactored pipeline passes all CI checks end-to-end.

Definition of Done

  • The CI pipeline has a single setup job that performs all initial setup steps.
  • All other jobs declare needs: [setup] and no longer duplicate setup steps.
  • The CI pipeline is demonstrably more efficient (fewer redundant steps) and easier to maintain.
  • The Git commit uses the exact first line from the Metadata section above.
  • The commit is pushed to the branch specified in the Metadata section.
  • A Pull Request has been created, reviewed, and merged.
  • All nox stages pass.
  • Coverage >= 97%.

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

## Metadata - **Branch**: `task/v3.8.0-ci-consolidate-setup-job` - **Commit Message**: `chore(ci): consolidate repeated setup steps into a single reusable setup job` - **Milestone**: v3.8.0 - **Parent Epic**: #397 ## Background and Context The current CI pipeline in `.forgejo/workflows/ci.yml` has significant redundancy. Almost every job independently repeats the same initial steps: 1. Install Node.js 2. Checkout the code 3. Install `uv` and `nox` This duplication makes the pipeline inefficient (each job re-runs identical setup work) and harder to maintain (changes to setup steps must be replicated across every job). ## Proposed Solution Create a single `setup` job that performs these initial steps once. All downstream jobs should then declare a dependency on this `setup` job via the `needs` keyword and share the same workspace/cache. This eliminates redundancy and centralises setup logic in one place. ## Subtasks - [ ] Create a new `setup` job in `.forgejo/workflows/ci.yml` that installs Node.js, checks out the code, and installs `uv` and `nox`. - [ ] Move the initial setup steps from all other jobs into the `setup` job. - [ ] Add `needs: [setup]` to all downstream jobs (`lint`, `typecheck`, `security`, `quality`, `unit_tests`, `integration_tests`, etc.). - [ ] Configure downstream jobs to reuse the workspace/cache produced by the `setup` job (via `outputs` or shared cache keys). - [ ] Verify the refactored pipeline passes all CI checks end-to-end. ## Definition of Done - [ ] The CI pipeline has a single `setup` job that performs all initial setup steps. - [ ] All other jobs declare `needs: [setup]` and no longer duplicate setup steps. - [ ] The CI pipeline is demonstrably more efficient (fewer redundant steps) and easier to maintain. - [ ] The Git commit uses the exact first line from the Metadata section above. - [ ] The commit is pushed to the branch specified in the Metadata section. - [ ] A Pull Request has been created, reviewed, and merged. - All nox stages pass. - Coverage >= 97%. --- **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:18:57 +00:00
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:30:57 +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.

Blocks
#397 Epic: Server & Autonomy Infrastructure
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#1628
No description provided.