TEST-INFRA: [ci-pipeline-design] Implement conditional test execution #1834

Open
opened 2026-04-02 23:56:27 +00:00 by freemo · 1 comment
Owner

Metadata

Overview

The CI pipeline currently runs all tests on every commit, which is inefficient for small changes. Implementing a mechanism to only run tests relevant to the changed files will significantly reduce execution time and provide faster feedback to developers.

Subtasks

  • Analyse the current CI workflow to identify all test jobs and their scopes
  • Design a file-change detection strategy (e.g. paths filters or a diff-based script) to determine which test suites are relevant per commit
  • Implement conditional execution logic in .forgejo/workflows/ci.yml using paths triggers or a dynamic matrix
  • Ensure that PRs targeting main/master always run the full test suite regardless of changed files
  • Update features/ci_workflow_validation.feature to assert conditional test execution steps are present
  • Verify all nox stages pass after changes
  • Confirm coverage ≥ 97%

Definition of Done

  • .forgejo/workflows/ci.yml only triggers relevant test jobs based on the files changed in a commit
  • Full test suite is always enforced on PRs targeting protected branches
  • features/ci_workflow_validation.feature covers the conditional execution behaviour
  • All nox stages pass
  • Coverage >= 97%

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

## Metadata - **Branch**: `task/ci-pipeline-design-conditional-test-execution` - **Commit Message**: `feat(ci): implement conditional test execution based on changed files` - **Milestone**: v3.8.0 - **Parent Epic**: #1678 ## Overview The CI pipeline currently runs all tests on every commit, which is inefficient for small changes. Implementing a mechanism to only run tests relevant to the changed files will significantly reduce execution time and provide faster feedback to developers. ## Subtasks - [ ] Analyse the current CI workflow to identify all test jobs and their scopes - [ ] Design a file-change detection strategy (e.g. `paths` filters or a diff-based script) to determine which test suites are relevant per commit - [ ] Implement conditional execution logic in `.forgejo/workflows/ci.yml` using `paths` triggers or a dynamic matrix - [ ] Ensure that PRs targeting `main`/`master` always run the full test suite regardless of changed files - [ ] Update `features/ci_workflow_validation.feature` to assert conditional test execution steps are present - [ ] Verify all nox stages pass after changes - [ ] Confirm coverage ≥ 97% ## Definition of Done - [ ] `.forgejo/workflows/ci.yml` only triggers relevant test jobs based on the files changed in a commit - [ ] Full test suite is always enforced on PRs targeting protected branches - [ ] `features/ci_workflow_validation.feature` covers the conditional execution behaviour - [ ] All nox stages pass - [ ] Coverage >= 97% --- **Automated by CleverAgents Bot** Supervisor: Unknown | Agent: ca-new-issue-creator
freemo added this to the v3.8.0 milestone 2026-04-02 23:56:43 +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
freemo added the
MoSCoW
Could have
label 2026-04-03 00:04:50 +00:00
HAL9000 added the
Priority
Backlog
State
Unverified
Type
Testing
labels 2026-04-10 06:09:14 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: cleveragents/cleveragents-core#1834