TEST-INFRA: [ci-pipeline-design] Consolidate redundant setup steps #1701

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

Metadata

  • Branch: task/v3.8.0-ci-consolidate-redundant-setup
  • Commit Message: chore(ci): consolidate redundant uv and nox setup steps into a reusable composite action
  • Milestone: v3.8.0
  • Parent Epic: #1678

Background and Context

Each job in the CI pipeline (.forgejo/workflows/ci.yml) currently installs uv and nox independently as repeated inline steps. This redundancy makes the pipeline harder to maintain — any change to the setup procedure must be replicated across every job individually — and adds unnecessary overhead to each job run.

The preferred solution is to extract these repeated steps into a reusable composite action stored in .forgejo/actions/, which all jobs can reference. For even greater efficiency, a custom Docker image with uv and nox pre-installed could eliminate the need to install them at runtime entirely.

This issue is related to but distinct from #1658, which proposes a shared setup job approach. This issue focuses on the composite action / Docker image approach as an alternative or complementary mechanism.

Expected Behavior

All CI jobs reference a single, centrally-maintained setup mechanism for installing uv and nox, reducing duplication and improving pipeline maintainability.

Acceptance Criteria

  • A reusable composite action exists in .forgejo/actions/ that installs uv and nox.
  • All jobs in .forgejo/workflows/ci.yml use the new reusable action instead of repeating the installation steps inline.
  • Optionally, a custom Docker image with uv and nox pre-installed is created and used to further reduce per-job setup time.
  • The CI pipeline continues to pass end-to-end after the refactor.

Supporting Information

  • Related issue: #1658 (Eliminate redundant setup in CI jobs — shared job approach)
  • Parent Epic: #1678 (CI Execution Time Optimization)
  • Affected file: .forgejo/workflows/ci.yml
  • New file(s): .forgejo/actions/setup-uv-nox/action.yml (composite action)

Subtasks

  • Create .forgejo/actions/setup-uv-nox/action.yml as a composite action that installs uv and nox
  • Update all jobs in .forgejo/workflows/ci.yml to use the new composite action via uses: ./.forgejo/actions/setup-uv-nox
  • Remove the now-redundant inline uv/nox installation steps from each job
  • (Optional) Create a custom Docker image with uv and nox pre-installed and update the workflow to use it
  • Update features/ci_workflow_validation.feature to assert the composite action is used
  • Run nox (all default sessions) and fix any errors introduced by the refactor
  • Verify coverage >= 97% via nox -s coverage_report

Definition of Done

  • .forgejo/actions/setup-uv-nox/action.yml exists and correctly installs uv and nox as a composite action
  • All jobs in .forgejo/workflows/ci.yml reference the composite action; no job contains inline uv/nox installation steps
  • features/ci_workflow_validation.feature is updated to cover the new composite action usage
  • The CI pipeline runs successfully end-to-end with the refactored structure
  • 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-redundant-setup` - **Commit Message**: `chore(ci): consolidate redundant uv and nox setup steps into a reusable composite action` - **Milestone**: v3.8.0 - **Parent Epic**: #1678 ## Background and Context Each job in the CI pipeline (`.forgejo/workflows/ci.yml`) currently installs `uv` and `nox` independently as repeated inline steps. This redundancy makes the pipeline harder to maintain — any change to the setup procedure must be replicated across every job individually — and adds unnecessary overhead to each job run. The preferred solution is to extract these repeated steps into a **reusable composite action** stored in `.forgejo/actions/`, which all jobs can reference. For even greater efficiency, a custom Docker image with `uv` and `nox` pre-installed could eliminate the need to install them at runtime entirely. This issue is related to but distinct from #1658, which proposes a shared `setup` job approach. This issue focuses on the **composite action / Docker image** approach as an alternative or complementary mechanism. ## Expected Behavior All CI jobs reference a single, centrally-maintained setup mechanism for installing `uv` and `nox`, reducing duplication and improving pipeline maintainability. ## Acceptance Criteria - A reusable composite action exists in `.forgejo/actions/` that installs `uv` and `nox`. - All jobs in `.forgejo/workflows/ci.yml` use the new reusable action instead of repeating the installation steps inline. - Optionally, a custom Docker image with `uv` and `nox` pre-installed is created and used to further reduce per-job setup time. - The CI pipeline continues to pass end-to-end after the refactor. ## Supporting Information - Related issue: #1658 (Eliminate redundant setup in CI jobs — shared job approach) - Parent Epic: #1678 (CI Execution Time Optimization) - Affected file: `.forgejo/workflows/ci.yml` - New file(s): `.forgejo/actions/setup-uv-nox/action.yml` (composite action) ## Subtasks - [ ] Create `.forgejo/actions/setup-uv-nox/action.yml` as a composite action that installs `uv` and `nox` - [ ] Update all jobs in `.forgejo/workflows/ci.yml` to use the new composite action via `uses: ./.forgejo/actions/setup-uv-nox` - [ ] Remove the now-redundant inline `uv`/`nox` installation steps from each job - [ ] (Optional) Create a custom Docker image with `uv` and `nox` pre-installed and update the workflow to use it - [ ] Update `features/ci_workflow_validation.feature` to assert the composite action is used - [ ] Run `nox` (all default sessions) and fix any errors introduced by the refactor - [ ] Verify coverage >= 97% via `nox -s coverage_report` ## Definition of Done - [ ] `.forgejo/actions/setup-uv-nox/action.yml` exists and correctly installs `uv` and `nox` as a composite action - [ ] All jobs in `.forgejo/workflows/ci.yml` reference the composite action; no job contains inline `uv`/`nox` installation steps - [ ] `features/ci_workflow_validation.feature` is updated to cover the new composite action usage - [ ] The CI pipeline runs successfully end-to-end with the refactored structure - [ ] 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:31:47 +00:00
Author
Owner

Closing as duplicate. CI parallelization and execution time improvements are tracked in #1604 (setup consolidation), #1536 (parallelize static analysis), and #1632 (split integration tests).


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

Closing as duplicate. CI parallelization and execution time improvements are tracked in #1604 (setup consolidation), #1536 (parallelize static analysis), and #1632 (split integration tests). --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo 2026-04-02 23:41:36 +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.

Reference
cleveragents/cleveragents-core#1701
No description provided.