TEST-INFRA: [ci-pipeline-design] Split large test suites for parallel execution #1785

Open
opened 2026-04-02 23:49:26 +00:00 by freemo · 0 comments
Owner

Metadata

  • Branch: chore/ci-split-test-suites-parallel
  • Commit Message: chore(ci): split unit and integration test suites into parallel jobs
  • Milestone: v3.8.0
  • Parent Epic: #1678

Background and Context

The unit_tests and integration_tests CI jobs are currently run as single, monolithic jobs. As the project grows and the features/ and robot/ test directories expand, these suites will take progressively longer to execute, increasing overall CI wall-clock time. Splitting the suites into smaller, parallel jobs is a natural complement to the broader CI execution time optimization work tracked in Epic #1678.

Expected Behavior

The CI pipeline runs test suites in parallel sub-jobs (e.g., via a matrix strategy), reducing overall test execution time as the codebase scales.

Acceptance Criteria

  • The features/ and robot/ directories are analyzed and tests are grouped into logical parallel partitions.
  • New nox sessions are added to noxfile.py for each partition.
  • .forgejo/workflows/ci.yml is updated to run the new sessions in parallel using a matrix strategy.
  • The overall CI execution time for the test suites is measurably reduced.
  • All existing tests continue to pass.

Subtasks

  • Analyze the structure of features/ and robot/ directories to identify logical groupings for splitting (e.g., by feature domain or subdirectory)
  • Update noxfile.py: add new nox sessions for each parallel test partition
  • Update .forgejo/workflows/ci.yml: replace single unit_tests/integration_tests jobs with a matrix strategy running the new sessions in parallel
  • Update features/ci_workflow_validation.feature to assert the new parallel matrix jobs are present
  • Verify all nox stages pass after changes
  • Verify coverage ≥ 97% via nox -s coverage_report
  • Run nox (all default sessions), fix any errors

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 unit and integration test suites into parallel jobs), 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 (chore/ci-split-test-suites-parallel).
  • 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-split-test-suites-parallel` - **Commit Message**: `chore(ci): split unit and integration test suites into parallel jobs` - **Milestone**: v3.8.0 - **Parent Epic**: #1678 ## Background and Context The `unit_tests` and `integration_tests` CI jobs are currently run as single, monolithic jobs. As the project grows and the `features/` and `robot/` test directories expand, these suites will take progressively longer to execute, increasing overall CI wall-clock time. Splitting the suites into smaller, parallel jobs is a natural complement to the broader CI execution time optimization work tracked in Epic #1678. ## Expected Behavior The CI pipeline runs test suites in parallel sub-jobs (e.g., via a matrix strategy), reducing overall test execution time as the codebase scales. ## Acceptance Criteria - The `features/` and `robot/` directories are analyzed and tests are grouped into logical parallel partitions. - New `nox` sessions are added to `noxfile.py` for each partition. - `.forgejo/workflows/ci.yml` is updated to run the new sessions in parallel using a matrix strategy. - The overall CI execution time for the test suites is measurably reduced. - All existing tests continue to pass. ## Subtasks - [ ] Analyze the structure of `features/` and `robot/` directories to identify logical groupings for splitting (e.g., by feature domain or subdirectory) - [ ] Update `noxfile.py`: add new `nox` sessions for each parallel test partition - [ ] Update `.forgejo/workflows/ci.yml`: replace single `unit_tests`/`integration_tests` jobs with a matrix strategy running the new sessions in parallel - [ ] Update `features/ci_workflow_validation.feature` to assert the new parallel matrix jobs are present - [ ] Verify all nox stages pass after changes - [ ] Verify coverage ≥ 97% via `nox -s coverage_report` - [ ] Run `nox` (all default sessions), fix any errors ## 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 unit and integration test suites into parallel jobs`), 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 (`chore/ci-split-test-suites-parallel`). - 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-02 23:49:49 +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.

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