TEST-INFRA: [ci-pipeline-design] Implement matrix build strategy for Python versions #7435

Open
opened 2026-04-10 19:17:07 +00:00 by HAL9000 · 4 comments
Owner

Metadata

  • Branch: task/ci-pipeline-design-matrix-python-versions
  • Commit Message: chore(ci): implement matrix build strategy for all supported Python versions
  • Milestone: N/A — Backlog (see note below)
  • Parent Epic: #1678

Backlog note: This issue was discovered during autonomous operation
on milestone v3.2.0. It does not block milestone completion and has been
placed in the backlog for human review and future milestone assignment.

Background and Context

The current CI pipeline only runs tests against Python 3.13. However, the noxfile.py is configured to support multiple Python versions via the SUPPORTED_PYTHONS variable. To ensure that the codebase is compatible with all supported Python versions, a matrix build strategy should be implemented in the CI configuration.

Current Behavior

The .forgejo/workflows/ci.yml CI pipeline runs all Python-dependent jobs (lint, typecheck, unit tests, integration tests, coverage, etc.) against a single hardcoded Python version (3.13). If SUPPORTED_PYTHONS in noxfile.py is expanded to include additional versions, the CI will not automatically validate compatibility against those versions.

Expected Behavior

The CI pipeline should use a matrix strategy to run all Python-dependent jobs against every version listed in SUPPORTED_PYTHONS in noxfile.py. This ensures multi-version compatibility is continuously validated.

Acceptance Criteria

  • The .forgejo/workflows/ci.yml file uses a matrix strategy for Python versions.
  • The matrix includes all Python versions listed in the SUPPORTED_PYTHONS variable in noxfile.py.
  • All jobs that execute Python code are included in the matrix.
  • The CI pipeline passes for all supported Python versions.

Supporting Information

  • noxfile.py defines SUPPORTED_PYTHONS = ["3.13"] — the matrix should be kept in sync with this list.
  • Related issues: #7421 (Run E2E tests on a less frequent schedule), Epic #1678 (CI Execution Time Optimization).

Subtasks

  • Modify the .forgejo/workflows/ci.yml file to use a matrix strategy for Python versions.
  • The matrix should include all Python versions listed in the SUPPORTED_PYTHONS variable in noxfile.py.
  • Ensure that all jobs that run Python code are included in the matrix.
  • Update features/ci_workflow_validation.feature to assert the matrix strategy is present.
  • Run nox (all default sessions), fix any errors.
  • Verify coverage >= 97% via nox -s coverage_report.

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • 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%

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

## Metadata - **Branch**: `task/ci-pipeline-design-matrix-python-versions` - **Commit Message**: `chore(ci): implement matrix build strategy for all supported Python versions` - **Milestone**: N/A — Backlog (see note below) - **Parent Epic**: #1678 > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.2.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. ## Background and Context The current CI pipeline only runs tests against Python 3.13. However, the `noxfile.py` is configured to support multiple Python versions via the `SUPPORTED_PYTHONS` variable. To ensure that the codebase is compatible with all supported Python versions, a matrix build strategy should be implemented in the CI configuration. ## Current Behavior The `.forgejo/workflows/ci.yml` CI pipeline runs all Python-dependent jobs (lint, typecheck, unit tests, integration tests, coverage, etc.) against a single hardcoded Python version (3.13). If `SUPPORTED_PYTHONS` in `noxfile.py` is expanded to include additional versions, the CI will not automatically validate compatibility against those versions. ## Expected Behavior The CI pipeline should use a matrix strategy to run all Python-dependent jobs against every version listed in `SUPPORTED_PYTHONS` in `noxfile.py`. This ensures multi-version compatibility is continuously validated. ## Acceptance Criteria - [ ] The `.forgejo/workflows/ci.yml` file uses a matrix strategy for Python versions. - [ ] The matrix includes all Python versions listed in the `SUPPORTED_PYTHONS` variable in `noxfile.py`. - [ ] All jobs that execute Python code are included in the matrix. - [ ] The CI pipeline passes for all supported Python versions. ## Supporting Information - `noxfile.py` defines `SUPPORTED_PYTHONS = ["3.13"]` — the matrix should be kept in sync with this list. - Related issues: #7421 (Run E2E tests on a less frequent schedule), Epic #1678 (CI Execution Time Optimization). ## Subtasks - [ ] Modify the `.forgejo/workflows/ci.yml` file to use a matrix strategy for Python versions. - [ ] The matrix should include all Python versions listed in the `SUPPORTED_PYTHONS` variable in `noxfile.py`. - [ ] Ensure that all jobs that run Python code are included in the matrix. - [ ] Update `features/ci_workflow_validation.feature` to assert the matrix strategy is present. - [ ] Run `nox` (all default sessions), fix any errors. - [ ] Verify coverage >= 97% via `nox -s coverage_report`. ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - 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% --- **Automated by CleverAgents Bot** Supervisor: Test Infrastructure | Agent: new-issue-creator
Author
Owner

Duplicate Issue Notice

A new issue creation was requested with the following title:

TEST-INFRA: [ci-pipeline-design] Implement matrix build strategy for multiple Python versions

This request is a near-exact duplicate of this issue (#7435). The requested issue body described the same acceptance criteria:

  • Configure the CI pipeline to run tests against all supported Python versions in a matrix.
  • Ensure that the matrix build is triggered for all relevant CI events.
  • Verify that test failures in any of the Python versions are correctly reported.

All of these criteria are already captured in this issue. No new issue was created to avoid duplication.

Additional near-duplicate issues also exist:

  • #7096TEST-INFRA: [ci-pipeline-design] Implement matrix builds for multiple Python versions
  • #6137TEST-INFRA: [ci-pipeline-design] Implement matrix build for multiple Python versions

Consider consolidating these duplicates if appropriate.


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

## Duplicate Issue Notice A new issue creation was requested with the following title: > **TEST-INFRA: [ci-pipeline-design] Implement matrix build strategy for multiple Python versions** This request is a **near-exact duplicate** of this issue (#7435). The requested issue body described the same acceptance criteria: - Configure the CI pipeline to run tests against all supported Python versions in a matrix. - Ensure that the matrix build is triggered for all relevant CI events. - Verify that test failures in any of the Python versions are correctly reported. All of these criteria are already captured in this issue. **No new issue was created** to avoid duplication. Additional near-duplicate issues also exist: - #7096 — `TEST-INFRA: [ci-pipeline-design] Implement matrix builds for multiple Python versions` - #6137 — `TEST-INFRA: [ci-pipeline-design] Implement matrix build for multiple Python versions` Consider consolidating these duplicates if appropriate. --- **Automated by CleverAgents Bot** Supervisor: Test Infrastructure | Agent: new-issue-creator
Author
Owner

Verified — CI improvement: matrix build strategy for Python versions. MoSCoW: Could-have. Priority: Low.


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

✅ **Verified** — CI improvement: matrix build strategy for Python versions. MoSCoW: Could-have. Priority: Low. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
Author
Owner

Verified — CI improvement: matrix build strategy for Python versions. MoSCoW: Could-have. Priority: Low.


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

✅ **Verified** — CI improvement: matrix build strategy for Python versions. MoSCoW: Could-have. Priority: Low. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
Author
Owner

Verified — CI improvement: matrix build strategy for Python versions. MoSCoW: Could-have. Priority: Low.


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

✅ **Verified** — CI improvement: matrix build strategy for Python versions. MoSCoW: Could-have. Priority: Low. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
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#7435
No description provided.