TEST-INFRA: [ci-pipeline-design] Centralize version management for CI dependencies #1943

Open
opened 2026-04-03 00:19:57 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: task/ci-centralize-version-management
  • Commit Message: chore(ci): centralize uv and python version definitions in workflow env block
  • Milestone: v3.8.0
  • Parent Epic: #1678

Problem

The current CI pipeline in .forgejo/workflows/ci.yml has hardcoded versions for uv and python scattered across individual jobs. This makes it difficult to update these dependencies consistently and can lead to version drift between jobs. The versions should be defined once in a central env block at the workflow level and referenced everywhere via ${{ env.VARIABLE_NAME }} syntax.

Subtasks

  • Audit .forgejo/workflows/ci.yml for all hardcoded uv and python version strings across all jobs
  • Add UV_VERSION and PYTHON_VERSION entries to the top-level env block of the workflow file
  • Update all job steps that reference uv or python versions to use ${{ env.UV_VERSION }} and ${{ env.PYTHON_VERSION }} respectively
  • Update features/ci_workflow_validation.feature to assert that version variables are defined in the env block and referenced correctly
  • Verify all nox stages pass after changes
  • Confirm coverage ≥ 97%

Definition of Done

  • UV_VERSION and PYTHON_VERSION are defined in the top-level env block of .forgejo/workflows/ci.yml
  • All jobs reference these versions via ${{ env.UV_VERSION }} and ${{ env.PYTHON_VERSION }} — no hardcoded version strings remain in job steps
  • features/ci_workflow_validation.feature is updated to cover the centralized version definitions
  • All nox stages pass
  • Coverage >= 97%

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

## Metadata - **Branch**: `task/ci-centralize-version-management` - **Commit Message**: `chore(ci): centralize uv and python version definitions in workflow env block` - **Milestone**: v3.8.0 - **Parent Epic**: #1678 ## Problem The current CI pipeline in `.forgejo/workflows/ci.yml` has hardcoded versions for `uv` and `python` scattered across individual jobs. This makes it difficult to update these dependencies consistently and can lead to version drift between jobs. The versions should be defined once in a central `env` block at the workflow level and referenced everywhere via `${{ env.VARIABLE_NAME }}` syntax. ## Subtasks - [ ] Audit `.forgejo/workflows/ci.yml` for all hardcoded `uv` and `python` version strings across all jobs - [ ] Add `UV_VERSION` and `PYTHON_VERSION` entries to the top-level `env` block of the workflow file - [ ] Update all job steps that reference `uv` or `python` versions to use `${{ env.UV_VERSION }}` and `${{ env.PYTHON_VERSION }}` respectively - [ ] Update `features/ci_workflow_validation.feature` to assert that version variables are defined in the `env` block and referenced correctly - [ ] Verify all nox stages pass after changes - [ ] Confirm coverage ≥ 97% ## Definition of Done - [ ] `UV_VERSION` and `PYTHON_VERSION` are defined in the top-level `env` block of `.forgejo/workflows/ci.yml` - [ ] All jobs reference these versions via `${{ env.UV_VERSION }}` and `${{ env.PYTHON_VERSION }}` — no hardcoded version strings remain in job steps - [ ] `features/ci_workflow_validation.feature` is updated to cover the centralized version definitions - [ ] 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-03 00:20:07 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • MoSCoW: MoSCoW/Could Have — CI/test infrastructure improvement.

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

Issue triaged by project owner: - **State**: Verified - **MoSCoW**: MoSCoW/Could Have — CI/test infrastructure improvement. --- **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.

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