ci(spread): switch from manually running spread to using snapcraft test
Metadata
Current evaluation
Migrates dogfooding Spread runs to snapcraft test; after 197 days it remains unreviewed with seven CI failures, including all craft-test jobs and snap-tests.
Suggested action: keep open
Reason: All four craft-test matrix jobs and snap-tests (google:) are failing, alongside two Python 3.12 slow-test jobs, so the migration is not ready for maintainer review or merge. The PR has had no activity for 196 days, but there is no evidence that it is abandoned or obsolete, so it should remain open pending failure diagnosis and renewed review.
Evaluated by: mr-cal-bot
Impact:
42
Quick Win:
3
Complexity:
57
Confidence:
91
Actionability:
18
Issue body
Configures the spread setup to work with `snapcraft test`:
- Comment out top-level `path`/`environment`/`include` so `snapcraft test` can manage them
- Remove `type`/`allocate` stub from `craft` backend so `snapcraft test` can inject its own adhoc configuration
- Switch snap install to use `$CRAFT_ARTIFACT` env var set by `snapcraft test`
- Configure root SSH login in `cloud-config.yaml` for the `craft` backend (used by the LXD VM allocator)
- Run `apt-get update` in `prepare` to ensure package lists are fresh
Closes CRAFT-5063
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
42
Quick Win:
3
Complexity:
57
Confidence:
91
Actionability:
18
|
keep open | Migrates dogfooding Spread runs to snapcraft test; after 197 days it remains unreviewed with seven CI failures, including all craft-test jobs and snap-tests. | |
| qwen/qwen3.6-35b-a3b |
Impact:
20
Quick Win:
1
Complexity:
30
Confidence:
80
Actionability:
10
|
close stale | CI config change to run spread tests via snapcraft test instead of manually. 185 days old, 0 reviews, all craft-test CI jobs failing, targets deprecated spread.yaml. | |
| qwen/qwen3.8-27b |
Impact:
35
Quick Win:
19
Staleness:
78
Complexity:
45
Confidence:
78
|
close stale | CI config change to run spread tests via `snapcraft test` instead of manually. 165 days old, 0 reviews, CI failing on all craft-test jobs. Target file spread.yaml since deprecated in favor of <app-name>-test.yaml (#1168). | |
| qwen/qwen3.6-35b-a3b |
Staleness:
75
Complexity:
40
Confidence:
60
|
close stale | Configures spread setup to work with snapcraft test by adjusting backend configs, environment variables, and SSH settings. Currently inactive for 124 days with failing CI checks and no reviewer engagement. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
75
Complexity:
15
Confidence:
70
|
needs review | Switches spread CI execution from manual runs to snapcraft test. Updates configuration, removes craft backend stubs, and adjusts environment variables. Currently inactive with zero comments and no CI status. |
Update history
No update history recorded yet.
Related work
-
Related To:
craft-application#806
(confidence 99%)
Open issue for the same migration from manually running Spread to using snapcraft test.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #806 Use `snapcraft test` for spread tests | craft-application | open | Maintainer dogfooding task: switch CI from invoking spread directly to `snapcraft test`. Triaged but unimplemented — .github/workflows/spread.yaml still calls `spread ${{ matrix.spread }}`; open PR #1038 attempts it with failing CI. | |
| #202 Add snapcraft tests | fetch-service | open | Snap package integration tests were added and CI now runs the Spread suite through snapcraft test, although the tracking issue remains open. | |
| #1272 tests: initial setup for the snapcraft snap tests with spread | snapcraft | merged | Merged PR #1272 as commit 545344442, adding initial Spread-based test infrastructure for the snapcraft snap. | |
| #5845 test(spread): test building base and snapd snaps | snapcraft | merged | Merged as fb8c81e8f, adding manual Spread coverage that builds current base snaps and the snapd snap against mainline Snapcraft. | |
| #1007 fix(craft-test): enable spread tests with 26.04 backends | craft-application | closed | Merged via canonical/snapcraft#6018, adding a temporary ubuntu-daily fallback so Spread tests could use 26.04 backends before ubuntu:26.04 images existed. | |
| #6408 Re-organize spread tests | snapcraft | open | Maintainer-filed, triaged enhancement to reorganize/dedupe Snapcraft's spread tests and drop low-value ones for faster, less flaky CI; no implementation plan or PR yet, tracked as SNAPCRAFT-1377. | |
| #386 tests: update testing to use craft-test | fetch-service | merged | Merged #386 as commit 323b0e1, replacing direct Spread calls with snapcraft test and updating the test base to core24. | |
| #4937 [DRAFT] publish test snap for spread tests | snapcraft | closed | Closed unmerged after its staging fixture was provisioned; mr-cal confirmed two revisions of test-snapcraft-assertions were created and released for spread tests. | |
| #3478 ci: add requirements for snapcraft legacy in spread | snapcraft | merged | Merged PR #3478, commit cd3bb7bd2, added Spread CI requirements for running Snapcraft legacy tests. | |
| #943 test(spread): test on more bases | craft-application | merged | Merged PR #943: added an external Python runtime for testcraft and expanded Spread tests across multiple snap bases to detect base-specific bugs earlier. |