TEST-INFRA: [ci-pipeline-design] Reduce redundant setup steps in CI jobs #1604

Open
opened 2026-04-02 23:09:09 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: task/v3.8.0-ci-reduce-redundant-setup-steps
  • Commit Message: chore(ci): reduce redundant setup steps across CI jobs using custom image or composite actions
  • Milestone: v3.8.0
  • Parent Epic: #397

Background and context

The ci.yml workflow contains a significant amount of redundant setup steps across multiple jobs. Specifically, the steps for installing Node.js, checking out the code, installing uv and nox, and caching uv packages are repeated in almost every job.

This redundancy makes the workflow file difficult to maintain and increases the chance of inconsistencies when setup steps need to be updated (e.g., changing a Node.js or Python version, or adjusting the cache strategy, requires editing every job individually).

Area: CI/CD

Expected behavior

The ci.yml workflow is updated so that common setup steps are defined once and reused across all applicable jobs — either via a custom Docker image with pre-installed dependencies, or via Forgejo Actions' reusable workflow / composite action features. The resulting workflow file is significantly shorter, easier to maintain, and free of duplicated setup logic.

Subtasks

  • Investigate using a custom Docker image with pre-installed dependencies (Node.js, uv, nox, cached packages).
  • Investigate using reusable workflows or composite actions to share setup steps between jobs.
  • Evaluate trade-offs between the two approaches (image build overhead vs. workflow complexity).
  • Implement the chosen solution to reduce redundancy across all applicable CI jobs.
  • Update docs/development/ci-cd.md to document the new setup approach.
  • Run nox (all default sessions), fix any errors.
  • Verify coverage >= 97% via nox -s coverage_report.

Definition of Done

  • The ci.yml workflow is updated to remove redundant setup steps.
  • The chosen approach (custom Docker image or composite action) is implemented and documented.
  • The CI pipeline still passes all checks after the refactor.
  • The changes are documented in docs/development/ci-cd.md.
  • All nox stages pass.
  • Coverage >= 97%.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly.
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.

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

## Metadata - **Branch**: `task/v3.8.0-ci-reduce-redundant-setup-steps` - **Commit Message**: `chore(ci): reduce redundant setup steps across CI jobs using custom image or composite actions` - **Milestone**: v3.8.0 - **Parent Epic**: #397 ## Background and context The `ci.yml` workflow contains a significant amount of redundant setup steps across multiple jobs. Specifically, the steps for installing Node.js, checking out the code, installing `uv` and `nox`, and caching `uv` packages are repeated in almost every job. This redundancy makes the workflow file difficult to maintain and increases the chance of inconsistencies when setup steps need to be updated (e.g., changing a Node.js or Python version, or adjusting the cache strategy, requires editing every job individually). **Area**: CI/CD ## Expected behavior The `ci.yml` workflow is updated so that common setup steps are defined once and reused across all applicable jobs — either via a custom Docker image with pre-installed dependencies, or via Forgejo Actions' reusable workflow / composite action features. The resulting workflow file is significantly shorter, easier to maintain, and free of duplicated setup logic. ## Subtasks - [ ] Investigate using a custom Docker image with pre-installed dependencies (Node.js, `uv`, `nox`, cached packages). - [ ] Investigate using reusable workflows or composite actions to share setup steps between jobs. - [ ] Evaluate trade-offs between the two approaches (image build overhead vs. workflow complexity). - [ ] Implement the chosen solution to reduce redundancy across all applicable CI jobs. - [ ] Update `docs/development/ci-cd.md` to document the new setup approach. - [ ] Run `nox` (all default sessions), fix any errors. - [ ] Verify coverage >= 97% via `nox -s coverage_report`. ## Definition of Done - [ ] The `ci.yml` workflow is updated to remove redundant setup steps. - [ ] The chosen approach (custom Docker image or composite action) is implemented and documented. - [ ] The CI pipeline still passes all checks after the refactor. - [ ] The changes are documented in `docs/development/ci-cd.md`. - [ ] All nox stages pass. - [ ] Coverage >= 97%. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly. - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. --- **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:09:35 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Priority/Medium (confirmed) — CI improvement, not blocking
  • MoSCoW: MoSCoW/Could Have — reducing redundant CI setup steps is a maintenance improvement. The current pipeline works correctly. This is refactoring with no behavior change. Could Have.
  • Milestone: v3.8.0 (confirmed)
  • Parent Epic: #397

Note: #1612 and #1606 were closed as duplicates of this issue.


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

Issue triaged by project owner: - **State**: Verified - **Priority**: Priority/Medium (confirmed) — CI improvement, not blocking - **MoSCoW**: MoSCoW/Could Have — reducing redundant CI setup steps is a maintenance improvement. The current pipeline works correctly. This is refactoring with no behavior change. Could Have. - **Milestone**: v3.8.0 (confirmed) - **Parent Epic**: #397 Note: #1612 and #1606 were closed as duplicates of this issue. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
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#1604
No description provided.