test: remove core20 spread tests
Metadata
Current evaluation
Merged removal of core20 spread tests and migration of related cases to core22 and core24. This update unblocks core20 deprecation for Snapcraft 9 and improves modern test coverage.
Suggested action: —
No scores available.
Issue body
This is the first part of removing core20 for Snapcraft 9. It removes core20 spread tests.
This has only improved test coverage for core22+. I don't think anything was removed that has relevance for modern snapcraft.
Test changes:
+19 core22 tests (163 -> 182)
+1 core24 tests (107 -> 108)
| tests | notes |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| plugins/core20 (v2) plugins | removed, specific to core20 |
| core20/manifest | already tested for core22, core24 |
| cross-compile/ | removed, core24 cross-compiling is already tested and core20 cross-compiling is very different |
| extensions/ros1 (noetic) | removed, specific to core20 |
| extensions/ros2 (foxy) | removed, specific to core20 |
| extensions/gnome-3-38 | removed, specific to core20 |
| general/build-aux | migrated to core22
| general/build-environment | migrated to core22 ||
| general/core22-step-dependencies | removed, specific to core20 (despite what the name suggests) |
| general/fix-symlink tests | migrated to core22 |
| general/stub-hooks | untested, now tested on core22 |
| general/passthrough | migrated to core22 |
| ~~general/patchelf~~ | ~~check me~~ |
| general/project-variables | removed, already tested for core22 and core24 |
| general/sources | migrated to core22<br>- exposed a bug in the 7z source (https://github.com/canonical/craft-parts/issues/1443) |
| general/stage-snaps-normalization | migrated to core22 |
| providers/legacy/ | removed, specific to core20 |
| providers/lxd-type-base | removed, already tested in core22 |
| snaps/ | removed maas and microk8s due to being very outdated<br>all snaps except for snapd weren't being tested and I'm not going to enable them here<br>snapd was migrated to core22 |
Unblocks #5675
(SNAPCRAFT-1195)
---
- [x] I've followed the [contribution guidelines](https://github.com/canonical/snapcraft/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.
- [ ] I've updated the relevant release notes.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged removal of core20 spread tests and migration of related cases to core22 and core24. This update unblocks core20 deprecation for Snapcraft 9 and improves modern test coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged removal of core20 spread tests, migrating remaining tests to core22 and core24. This improves modern test coverage, exposes a craft-parts bug, and unblocks issue #5675. Reported spread failures were unrelated. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Removed core20 spread tests and migrated relevant tests to core22 and core24, improving modern test coverage and unblocking issue #5675. Reported spread failures were unrelated. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4761 tests: remove core24 snap workarounds | snapcraft | merged | Merged after two approvals and passing CI. Removed core24 snap workarounds from spread tests, deleting 22 lines. Branch retargeted to hotfix/8.2 for release. | |
| #4763 tests: remove core24 snap workarounds (#4761) | snapcraft | merged | Merged into main after two approvals and passing CI. The change cherry-picks test updates to remove core24 snap workarounds, resolving CI failures by deleting 22 lines of legacy code in a single file. | |
| #5675 Remove core20 lifecycle | snapcraft | closed | Merged in pull request #6019. Removed core20 lifecycle commands, spread tests, and plugin/extension references. Legacy components were retained for store compatibility. Prepares Snapcraft for version 9. | |
| #3714 spread: enable core22 | snapcraft | merged | Merged into snapcraft/7.0 after reviewer approval and passing CI checks. The change enables core22 in the spread configuration across 36 files (+112/-58 lines). Code coverage remained unchanged upon merge. | |
| #3540 spread tests: remove 16.04 and core (CRAFT-210) | snapcraft | merged | Merged cleanup removing legacy 16.04 and core references from spread tests. Approved with passing CI. Author noted necessary legacy tests will be reintroduced in future iterations. | |
| #3026 spread tests: add core20 and cleanup systems | snapcraft | merged | Merged. Added core20 support to spread tests, cleaned up system selection logic to exclusively install snaps, and introduced a dedicated environment for unit tests. A reported test failure was promptly fixed by the author before approval and merge. | |
| #386 tests: update testing to use craft-test | fetch-service | merged | Merged. Replaced direct spread calls with snapcraft test in workflows and spread.yaml, requiring a core24 base update. Approved by two reviewers and modified 10 files (+56/-125 lines). | |
| #3579 snap: move base to core20 (CRAFT-509) | snapcraft | merged | Merged updates the snap base to core20. Approved by two reviewers with passing CI checks. Changes affect 13 files, increase coverage by 0.07%, and update initialization templates to core20. | |
| #4177 core18: removal | snapcraft | merged | Merged after two approvals and passing CI. Removes core18 support, resolving issue #4165. Changes span 528 files, deleting over 37,000 lines. Temporary core20 test fixes ensured CI passed prior to merge. | |
| #2412 feat(snap): migrate the snap to core24 | charmcraft | merged | Merged after two approvals. Migrates snap packaging to core24 across four files. Known test failures were deemed non-blocking. CI passed on most platforms despite Ubuntu 20.04 and 22.04 failures. |