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

  • 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

## 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
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#1834
No description provided.