TEST-INFRA: [ci-pipeline-design] Centralize and manage tool versions #1918

Open
opened 2026-04-03 00:12:52 +00:00 by freemo · 4 comments
Owner

Metadata

  • Branch: task/ci-centralize-tool-versions
  • Commit Message: chore(ci): centralize tool version management into a single source of truth
  • Milestone: v3.8.0
  • Parent Epic: #1678

Description

The current CI pipeline in .forgejo/workflows/ci.yml has hardcoded versions for UV_VERSION, PYTHON_VERSION, and HELM_VERSION. This makes it difficult to manage and update these versions consistently across the project.

A central version management file (e.g., .tool-versions) should be introduced so that all tooling versions are defined in one place and consumed by the CI pipeline, reducing the risk of version drift and simplifying future upgrades.

Subtasks

  • Create a central place to manage the versions of the tools used in the CI pipeline (e.g., a .tool-versions file or equivalent)
  • Modify .forgejo/workflows/ci.yml to read UV_VERSION, PYTHON_VERSION, and HELM_VERSION from the central file
  • Ensure that the pipeline runs successfully with the new version management system
  • Update features/ci_workflow_validation.feature to assert that versions are sourced from the central file

Definition of Done

  • A central version file exists and contains all tool versions previously hardcoded in ci.yml
  • The ci.yml file reads tool versions from the central file rather than hardcoding them
  • The CI pipeline runs successfully with the new version management system
  • All nox stages pass
  • Coverage >= 97%

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

## Metadata - **Branch**: `task/ci-centralize-tool-versions` - **Commit Message**: `chore(ci): centralize tool version management into a single source of truth` - **Milestone**: v3.8.0 - **Parent Epic**: #1678 ## Description The current CI pipeline in `.forgejo/workflows/ci.yml` has hardcoded versions for `UV_VERSION`, `PYTHON_VERSION`, and `HELM_VERSION`. This makes it difficult to manage and update these versions consistently across the project. A central version management file (e.g., `.tool-versions`) should be introduced so that all tooling versions are defined in one place and consumed by the CI pipeline, reducing the risk of version drift and simplifying future upgrades. ## Subtasks - [ ] Create a central place to manage the versions of the tools used in the CI pipeline (e.g., a `.tool-versions` file or equivalent) - [ ] Modify `.forgejo/workflows/ci.yml` to read `UV_VERSION`, `PYTHON_VERSION`, and `HELM_VERSION` from the central file - [ ] Ensure that the pipeline runs successfully with the new version management system - [ ] Update `features/ci_workflow_validation.feature` to assert that versions are sourced from the central file ## Definition of Done - [ ] A central version file exists and contains all tool versions previously hardcoded in `ci.yml` - [ ] The `ci.yml` file reads tool versions from the central file rather than hardcoding them - [ ] The CI pipeline runs successfully with the new version management system - [ ] 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:13:10 +00:00
Author
Owner

Label compliance fix applied:

  • Removed conflicting orphaned labels and ensured valid labels are set
  • Reason: Per CONTRIBUTING.md, each issue must have exactly one State/*, Type/*, and Priority/* label using the valid label set.

Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: ca-backlog-groomer

Label compliance fix applied: - Removed conflicting orphaned labels and ensured valid labels are set - Reason: Per CONTRIBUTING.md, each issue must have exactly one `State/*`, `Type/*`, and `Priority/*` label using the valid label set. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: ca-backlog-groomer
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
Owner

Implementation Attempt — Tier 1: haiku — Success

Implemented centralized tool version management for the CI pipeline:

Changes Made:

  • Created .tool-versions file as the single source of truth for tool versions (UV_VERSION, PYTHON_VERSION, HELM_VERSION, KUBECONFORM_VERSION)
  • Modified .forgejo/workflows/ci.yml to include a new load-versions job that reads from .tool-versions and exports versions as outputs
  • Updated all CI jobs (lint, typecheck, security, quality, unit_tests, integration_tests, e2e_tests, coverage, build, docker, helm) to depend on load-versions and use the exported version outputs
  • Added comprehensive test scenarios to features/ci_workflow_validation.feature to verify versions are sourced from the central file
  • Added step definitions to validate the tool versions file and CI workflow integration
  • Created helper script scripts/load-tool-versions.sh for local version loading

Benefits:

  • Single source of truth for all tool versions
  • Reduced risk of version drift across the CI pipeline
  • Easier maintenance and future upgrades
  • Better testability with new validation scenarios

PR Created: #10953


Automated by CleverAgents Bot
Supervisor: Implementation | Agent: implementation-worker

**Implementation Attempt** — Tier 1: haiku — Success Implemented centralized tool version management for the CI pipeline: **Changes Made:** - Created `.tool-versions` file as the single source of truth for tool versions (UV_VERSION, PYTHON_VERSION, HELM_VERSION, KUBECONFORM_VERSION) - Modified `.forgejo/workflows/ci.yml` to include a new `load-versions` job that reads from `.tool-versions` and exports versions as outputs - Updated all CI jobs (lint, typecheck, security, quality, unit_tests, integration_tests, e2e_tests, coverage, build, docker, helm) to depend on `load-versions` and use the exported version outputs - Added comprehensive test scenarios to `features/ci_workflow_validation.feature` to verify versions are sourced from the central file - Added step definitions to validate the tool versions file and CI workflow integration - Created helper script `scripts/load-tool-versions.sh` for local version loading **Benefits:** - Single source of truth for all tool versions - Reduced risk of version drift across the CI pipeline - Easier maintenance and future upgrades - Better testability with new validation scenarios **PR Created:** #10953 --- Automated by CleverAgents Bot Supervisor: Implementation | Agent: implementation-worker
Owner

Implementation Attempt — Tier 1: haiku — Failed

Attempted to implement issue #1918: TEST-INFRA: [ci-pipeline-design] Centralize and manage tool versions.

However, the issue does not exist in the Forgejo API (404 response when fetching issue details). Without access to the issue description, acceptance criteria, and metadata section, implementation cannot proceed.

Root cause: Issue #1918 is not accessible via the Forgejo API at https://git.cleverthis.com/api/v1/repos/cleveragents/cleveragents-core/issues/1918

Required to proceed:

  • Issue must exist and be accessible via Forgejo API
  • Issue description with acceptance criteria
  • Metadata section with commit message format and branch name

Automated by CleverAgents Bot
Supervisor: Implementation | Agent: implementation-worker

**Implementation Attempt** — Tier 1: haiku — Failed Attempted to implement issue #1918: TEST-INFRA: [ci-pipeline-design] Centralize and manage tool versions. However, the issue does not exist in the Forgejo API (404 response when fetching issue details). Without access to the issue description, acceptance criteria, and metadata section, implementation cannot proceed. Root cause: Issue #1918 is not accessible via the Forgejo API at https://git.cleverthis.com/api/v1/repos/cleveragents/cleveragents-core/issues/1918 Required to proceed: - Issue must exist and be accessible via Forgejo API - Issue description with acceptance criteria - Metadata section with commit message format and branch name --- Automated by CleverAgents Bot Supervisor: Implementation | Agent: implementation-worker
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#1918
No description provided.