TEST-INFRA: [ci-pipeline-design] Refactor CI pipeline to reduce redundant setup #1606

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

Metadata

  • Branch: task/v3.8.0-ci-refactor-redundant-setup
  • Commit Message: chore(ci): refactor pipeline to use base image and eliminate redundant setup steps
  • 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 has significant redundant setup steps repeated across every job. Each job (lint, typecheck, security, quality, unit_tests, integration_tests, e2e_tests, coverage, build, docker, helm) runs in a separate Docker container and independently repeats the same setup steps: installing Node.js, checking out the code, and installing uv and nox. This is inefficient, slows down the pipeline, and makes the workflow file harder to maintain.

Expected Behavior

A dedicated base Docker image with all required dependencies pre-installed (Node.js, uv, nox, etc.) should be used by all CI jobs, eliminating the need for each job to independently install these tools. The ci.yml file should be significantly cleaner and pipeline setup time per job should be reduced.

Subtasks

  • Create a base Docker image with all required dependencies (Node.js, uv, nox, etc.) pre-installed.
  • Publish the base image to the project's container registry.
  • Modify .forgejo/workflows/ci.yml to reference the new base image for all jobs.
  • Remove the redundant setup steps (Node.js install, uv install, nox install) from each job.
  • Verify all CI jobs pass with the new base image.
  • Run nox (all default sessions), fix any errors.
  • Verify coverage >= 97% via nox -s coverage_report.

Definition of Done

This issue is complete when:

  • A base Docker image is created and published with all required CI dependencies pre-installed.
  • The CI pipeline runs successfully end-to-end using the new base image.
  • The setup time for each job is measurably reduced (no per-job tool installation).
  • The ci.yml file is cleaner, with redundant setup steps removed from all jobs.
  • 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.
  • All nox stages pass
  • Coverage >= 97%

⚠️ Orphan Notice: No parent Epic was found for ci-pipeline-design issues at time of creation. This issue must be manually linked to the appropriate parent Epic once one is identified or created.


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

## Metadata - **Branch**: `task/v3.8.0-ci-refactor-redundant-setup` - **Commit Message**: `chore(ci): refactor pipeline to use base image and eliminate redundant setup steps` - **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` has significant redundant setup steps repeated across every job. Each job (`lint`, `typecheck`, `security`, `quality`, `unit_tests`, `integration_tests`, `e2e_tests`, `coverage`, `build`, `docker`, `helm`) runs in a separate Docker container and independently repeats the same setup steps: installing Node.js, checking out the code, and installing `uv` and `nox`. This is inefficient, slows down the pipeline, and makes the workflow file harder to maintain. ## Expected Behavior A dedicated base Docker image with all required dependencies pre-installed (Node.js, `uv`, `nox`, etc.) should be used by all CI jobs, eliminating the need for each job to independently install these tools. The `ci.yml` file should be significantly cleaner and pipeline setup time per job should be reduced. ## Subtasks - [ ] Create a base Docker image with all required dependencies (Node.js, `uv`, `nox`, etc.) pre-installed. - [ ] Publish the base image to the project's container registry. - [ ] Modify `.forgejo/workflows/ci.yml` to reference the new base image for all jobs. - [ ] Remove the redundant setup steps (Node.js install, `uv` install, `nox` install) from each job. - [ ] Verify all CI jobs pass with the new base image. - [ ] Run `nox` (all default sessions), fix any errors. - [ ] Verify coverage >= 97% via `nox -s coverage_report`. ## Definition of Done This issue is complete when: - [ ] A base Docker image is created and published with all required CI dependencies pre-installed. - [ ] The CI pipeline runs successfully end-to-end using the new base image. - [ ] The setup time for each job is measurably reduced (no per-job tool installation). - [ ] The `ci.yml` file is cleaner, with redundant setup steps removed from all jobs. - [ ] 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. - All nox stages pass - Coverage >= 97% --- > ⚠️ **Orphan Notice**: No parent Epic was found for `ci-pipeline-design` issues at time of creation. This issue must be manually linked to the appropriate parent Epic once one is identified or created. --- **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:47 +00:00
Author
Owner

⚠️ Orphan Issue — Manual Linking Required

This issue was created without a parent Epic because no open Type/Epic issue exists for the ci-pipeline-design focus area at the time of creation.

Per CONTRIBUTING.md, orphan issues are not permitted. A project owner must:

  1. Identify or create the appropriate parent Epic for CI pipeline design work.
  2. Link this issue as a dependency of that Epic using Forgejo's dependency system:
    • Open this issue (#1606) and add the parent Epic under the "blocks" section.
    • The parent Epic will then show this issue under "depends on".

Other ci-pipeline-design issues that are similarly unlinked and may share the same parent Epic:

  • #1589 — Improve dependency caching strategy
  • #1592 — Git clone fails with gnutls_handshake error
  • #1596 — Repository is empty
  • #1598 — Unable to clone repository
  • #1540 — Introduce Reusable Workflows to Reduce Duplication

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

⚠️ **Orphan Issue — Manual Linking Required** This issue was created without a parent Epic because no open `Type/Epic` issue exists for the `ci-pipeline-design` focus area at the time of creation. Per `CONTRIBUTING.md`, orphan issues are **not permitted**. A project owner must: 1. Identify or create the appropriate parent Epic for CI pipeline design work. 2. Link this issue as a dependency of that Epic using Forgejo's dependency system: - Open this issue (#1606) and add the parent Epic under the **"blocks"** section. - The parent Epic will then show this issue under **"depends on"**. Other `ci-pipeline-design` issues that are similarly unlinked and may share the same parent Epic: - #1589 — Improve dependency caching strategy - #1592 — Git clone fails with gnutls_handshake error - #1596 — Repository is empty - #1598 — Unable to clone repository - #1540 — Introduce Reusable Workflows to Reduce Duplication --- **Automated by CleverAgents Bot** Supervisor: Test Infrastructure | Agent: ca-new-issue-creator
Author
Owner

Closing as duplicate of #1604.

Both issues address the same problem: reducing redundant setup steps in CI jobs via Docker base image or composite actions. #1604 was filed first and covers the same scope. All work should be consolidated there.


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

Closing as duplicate of #1604. Both issues address the same problem: reducing redundant setup steps in CI jobs via Docker base image or composite actions. #1604 was filed first and covers the same scope. All work should be consolidated there. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo 2026-04-02 23:18:45 +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#1606
No description provided.