ci: make workflows conditional, add docs-only spread tests
Metadata
Current evaluation
Merged in canonical/rockcraft#1206 at commit 3624f64c, adding path-conditional CI and separate source and docs-only Spread workflows.
Resolution: closed resolved
Reason: The approved PR merged as commit 3624f64c, making QA and Spread jobs conditional on changed files and adding a dedicated docs-only Spread workflow.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Make workflows and jobs conditional:
- Full QA / lint runs if source files change.
- QA / Test runs if source files change.
- The Spread workflow calls the `test/**` Spread tests if source files change.
Add a Docs Spread workflow that runs the `docs/**` Spread tests if docs files change.
With the QA workflow, if there's a change to the source, all linters run in one runner (`make lint`). But for the Spread tests, there's a hard split between the docs and source Spread tests, meaning each will spawn their own runner. This isn't bad, but it adds complexity and inconsistency between the different workflow types. If Starflow's QA workflow were completely split, we could properly partition the checks in both collections – QA source, QA docs, Spread source, Spread docs.
---
- [x] I've followed the [contribution guidelines](https://github.com/canonical/rockcraft/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 | Merged in canonical/rockcraft#1206 at commit 3624f64c, adding path-conditional CI and separate source and docs-only Spread workflows. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in canonical/rockcraft#1206 via commit 3624f64c, adding path-conditional QA workflows and separate docs/source Spread-test jobs. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #1206 via 3624f64c, making QA workflows path-conditional and separating source and docs-only Spread test workflows despite reported Spread failures. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #1206 (3624f64c), adding path-conditional QA workflows and a separate Docs Spread workflow. Both Spread jobs ran; docs tests failed predictably, as noted by the author. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval. Updates CI workflows to run conditionally on changed files, splitting source and documentation spread tests into separate runners. Predictable initial failures were acknowledged, and the changes were merged. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. CI workflows now run conditionally based on changed files, splitting Spread tests into dedicated source and docs jobs. The docs spread test fails predictably but was included in the merge. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/rockcraft#1205
(confidence 96%)
Earlier same-title PR was closed after the implementation landed through #1206.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #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. | |
| #2688 ci: make workflows conditional on affected files | charmcraft | merged | 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. | |
| #6244 ci: test docs-conditional workflows and jobs | snapcraft | closed | Closed unmerged; its docs-conditional CI approach was superseded by merged PR snapcraft#6245 in commit 40af3e5b5. | |
| #352 ci: add conditionals for docs-only checks | imagecraft | merged | Merged CRAFT-5161 CI changes in #352 (commit 0104193), adding conditionals to skip required checks and unnecessary operations for docs-only changes. | |
| #2126 ci(docs): spread test documentation | charmcraft | merged | Merged PR #2126 in commit f1b73a6e, adding CI for documentation spread tests and adapting spread tasks for Google-hosted runners. |