← Back to issue list

ci: make workflows conditional on affected files

View original Github issue

Metadata

Project
charmcraft
Number
#2688
Type
pull request
State
merged
Author
medubelko
Labels
—
Created
Updated
Closed

Current evaluation

PR #2688 merged as commit a32937a6: added paths-ignore conditions so QA/Test, Check policy, Experimental, Tests and Spread workflows only run on affected files; Split Spread into 'Spread tests for source' and docs.

Resolution: closed resolved

Reason: The PR was merged into main as commit a32937a6 ('ci: make workflows conditional on affected files'), approved with 1 reviewer and no unresolved comments. The resulting .github/workflows/spread.yaml is now named 'Spread tests for source' with the paths-ignore filters described in the PR body.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Make workflows and jobs conditional: - `QA / Test` runs if source files change. - `Check policy` workflow runs if source files change. - `Experimental workflows` workflow runs if source files change. - `Tests` workflow is conditional on deeper MD files. - `Spread` workflow is conditional on deeper MD files, renamed to `Spread tests for source`. - `Spread tests for docs` triggers on additional doc files. --- - [x] I've followed the [contribution guidelines](https://github.com/canonical/charmcraft/blob/main/CONTRIBUTING.md). - [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/). - [x] I've successfully run `make lint && make test`. - [ ] I've added or updated any relevant documentation. - [ ] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing. - [ ] I've updated the relevant release notes.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved PR #2688 merged as commit a32937a6: added paths-ignore conditions so QA/Test, Check policy, Experimental, Tests and Spread workflows only run on affected files; Split Spread into 'Spread tests for source' and docs.
stealth/space-bunny-alpha — closed resolved Merged as commit a32937a6: CI workflows and jobs (QA/Test, Check policy, Experimental workflows, Tests, Spread) made conditional on changed file paths, with Spread split into source and docs triggers.
stealth/space-bunny-alpha — closed resolved Merged #2688 (a32937a6), adding affected-file conditions to CI workflows and jobs, including separate source- and documentation-specific Spread test triggers.
qwen/qwen3.6-35b-a3b — — Merged changes optimizing CI workflows to run conditionally on affected files. Test, policy, experimental, and spread jobs now trigger only on relevant source or documentation changes, streamlining builds.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Configured CI workflows to run conditionally based on changed files, routing source changes to test and policy jobs while separating documentation triggers. Type checking warnings were informational and did not block the merge.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/charmcraft#2834 (confidence 45%)

    Follow-on CI workflow 'lint / files' and the failing snap-tests jobs are unrelated pre-existing conditions, not addressed by this PR.

  • Related To: canonical/charmcraft#2834 (confidence 20%)

    Lower-confidence: later CI maintenance commits (e.g. 9c6afc0a ci: fix actionlint findings #2897) refine the same workflow files.

Related issues

Issue Project State Summary Similarity
#6245 ci: make workflows conditional, add docs-only spread tests snapcraft merged Merged in #6245 via commit 40af3e5b5, adding path-conditional workflows and a docs-only Google-backed Spread test workflow.
77%
#1206 ci: make workflows conditional, add docs-only spread tests rockcraft merged Merged in canonical/rockcraft#1206 at commit 3624f64c, adding path-conditional CI and separate source and docs-only Spread workflows.
76%
#1205 ci: make workflows conditional, add docs-only spread tests rockcraft closed Superseded by merged PR canonical/rockcraft#1206 (commit 3624f64c), which implemented conditional CI and split source and docs Spread tests.
76%
#1131 ci: skip QA and Spread workflows for security-scanner-only PRs craft-application merged Merged in canonical/craft-application#1131 (commit d8885203), adding paths-ignore filters so QA and Spread workflows skip security-scanner-only PRs; test follow-up #1132 was closed as unnecessary.
73%
#160 ci: add path filter to qa workflow, make jobs conditional debcraft merged Merged in fa39c6f, adding QA path filtering and making Starflow lint/test jobs conditional so docs-only changes can skip them (CRAFT-5161).
72%
#6256 ci: add path filter to qa workflow, make jobs conditional snapcraft merged PR #6256 (CRAFT-5161) merged as commit 9a7074ce8, adding dorny/paths-filter to .github/workflows/qa.yaml, gating lint/test jobs on a paths filter and forwarding filters to Starflow workflows.
72%