ci(ci-execution-time): Split test suites into smaller, parallelizable nox sessions #2327

Closed
opened 2026-04-03 14:27:21 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: chore/ci-execution-time-parallel-nox-sessions
  • Commit Message: chore(ci): split test suites into parallelizable nox sessions
  • Milestone: v3.8.0
  • Parent Epic: #1678

Background and Context

The current CI pipeline runs all tests in a single monolithic nox session, which means the total CI wall-clock time is bounded by the slowest test suite. Splitting the test suites into smaller, logically grouped nox sessions that can be executed in parallel by the CI workflow will reduce overall CI execution time and provide faster feedback to contributors.

This issue is a child of Epic #1678 (CI Execution Time Optimization — Timeouts, Concurrency, and Coverage Artifact Sharing), which tracks all structural improvements to the CI pipeline.

Expected Behavior

Test suites are split into smaller, logically grouped nox sessions (e.g., by feature area or by speed tier). The .forgejo/workflows/ci.yml workflow is updated to run these sessions in parallel CI jobs. Coverage reporting remains accurate and the overall CI execution time is reduced.

Acceptance Criteria

  • noxfile.py defines multiple focused test sessions that can be run independently.
  • .forgejo/workflows/ci.yml runs the new nox sessions as parallel jobs.
  • Coverage data from all parallel sessions is merged and reported correctly.
  • No test scenarios are lost or duplicated in the split.
  • All nox stages pass after the change.
  • Coverage remains ≥ 97%.

Supporting Information

  • Parent Epic: #1678 — CI Execution Time Optimization
  • Related: .forgejo/workflows/ci.yml, noxfile.py

Subtasks

  • Analyze the test suites to identify logical splitting points (e.g., by feature area, by speed tier).
  • Create new nox sessions in noxfile.py for the split test suites.
  • Update .forgejo/workflows/ci.yml to run the new nox sessions as parallel jobs.
  • Ensure coverage data from all parallel sessions is merged and reported correctly.
  • Update features/ci_workflow_validation.feature to assert the new parallel test job structure.
  • Run nox (all default sessions) and 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 (chore(ci): split test suites into parallelizable nox sessions), followed by a blank line, then additional lines providing relevant implementation details.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly (chore/ci-execution-time-parallel-nox-sessions).
  • 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: ca-new-issue-creator

## Metadata - **Branch**: `chore/ci-execution-time-parallel-nox-sessions` - **Commit Message**: `chore(ci): split test suites into parallelizable nox sessions` - **Milestone**: v3.8.0 - **Parent Epic**: #1678 ## Background and Context The current CI pipeline runs all tests in a single monolithic nox session, which means the total CI wall-clock time is bounded by the slowest test suite. Splitting the test suites into smaller, logically grouped nox sessions that can be executed in parallel by the CI workflow will reduce overall CI execution time and provide faster feedback to contributors. This issue is a child of Epic #1678 (CI Execution Time Optimization — Timeouts, Concurrency, and Coverage Artifact Sharing), which tracks all structural improvements to the CI pipeline. ## Expected Behavior Test suites are split into smaller, logically grouped nox sessions (e.g., by feature area or by speed tier). The `.forgejo/workflows/ci.yml` workflow is updated to run these sessions in parallel CI jobs. Coverage reporting remains accurate and the overall CI execution time is reduced. ## Acceptance Criteria - `noxfile.py` defines multiple focused test sessions that can be run independently. - `.forgejo/workflows/ci.yml` runs the new nox sessions as parallel jobs. - Coverage data from all parallel sessions is merged and reported correctly. - No test scenarios are lost or duplicated in the split. - All nox stages pass after the change. - Coverage remains ≥ 97%. ## Supporting Information - Parent Epic: #1678 — CI Execution Time Optimization - Related: `.forgejo/workflows/ci.yml`, `noxfile.py` ## Subtasks - [ ] Analyze the test suites to identify logical splitting points (e.g., by feature area, by speed tier). - [ ] Create new nox sessions in `noxfile.py` for the split test suites. - [ ] Update `.forgejo/workflows/ci.yml` to run the new nox sessions as parallel jobs. - [ ] Ensure coverage data from all parallel sessions is merged and reported correctly. - [ ] Update `features/ci_workflow_validation.feature` to assert the new parallel test job structure. - [ ] Run `nox` (all default sessions) and 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 (`chore(ci): split test suites into parallelizable nox sessions`), followed by a blank line, then additional lines providing relevant implementation details. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly (`chore/ci-execution-time-parallel-nox-sessions`). - 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: ca-new-issue-creator
freemo added this to the v3.8.0 milestone 2026-04-03 14:27:28 +00:00
Author
Owner

Closing as duplicate of #2293.

This issue ("Split test suites into smaller, parallelizable nox sessions") covers the same scope as #2293 ("Parallelize Nox Sessions in CI"). Consolidating to avoid duplicate work.


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

Closing as duplicate of #2293. This issue ("Split test suites into smaller, parallelizable nox sessions") covers the same scope as #2293 ("Parallelize Nox Sessions in CI"). Consolidating to avoid duplicate work. --- **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#2327
No description provided.