test(spread): create core26 spread test suite
Metadata
Current evaluation
Merged PR #6202 as a9a5b4750, adding core26 Spread tests and CI coverage while generalizing common tests for core22, core24, and core26.
Resolution: closed resolved
Reason: PR #6202 was approved and merged as commit a9a5b4750, establishing the core26 Spread test suite and its CI job.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Fills out the core26 spread test suite.
In order to make this possible to review, the table below describes the level of scrutiny for each commit:
| commit number | commit | notes |
| ---- |-------|-------|
| 1 | ci: add job for core26 spread tests | this adds a new CI job for the core26 suite |
| 2 | test(spread): remove dangling symlink | unrelated cleanup, the dangling symlink wasn't being used |
| 3 | test(spread): copy tests to common dir | - copy/paste of `core24/` and `core24-suites/` to `_common/`. <br> - flattens nested directories in the `core24-suites` <br> - moves the `python-hello` <br> This commit isn't very useful to review. |
| 4 | test(spread): reorder task.yaml keys | A long overdue refactor to improve readability. <br> All task.yaml keys in `_common/` are now ordered chronologically: prepare -> execute -> restore. <br> This is programmatic and not very useful to review. |
| 5 | test(spread): set and restore bases | In order to generalize the common tests, the `base` entry in each `snapcraft.yaml` need to be set during `prepare` and reverted during `restore`. So this adds `set_base` and `restore_yaml` to every test that was missing it. <br> Again, this is programmatic and not very useful to review. |
| 6 | test(spread): symlink common tests for core26 | Another programmatic commit that creates symlinks in the core26 directory |
| 7 | test(spread): generalize spread tests | This is where the proper hands-on work was done. My goal was to make the tests pass on core26 or have them fail with an expected error and link them to a github issue. <br> I did a best effort attempt to make them generic enough to be used for core22, core24, and core28(!), although minor changes will certainly be needed. |
(SNAPCRAFT-1328)
---
- [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 |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #6202 as a9a5b4750, adding core26 Spread tests and CI coverage while generalizing common tests for core22, core24, and core26. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #6202 in commit a9a5b4750, adding core26 Spread tests and CI coverage while generalizing shared tests across core22, core24, and core26. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #6202, adding the core26 Spread suite and CI coverage while generalizing common tests for core22, core24, and core26. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged the core26 spread test suite, adding CI jobs and generalizing tests for core22, 24, and 26 across 419 files. Approved by two reviewers and passed most CI checks prior to integration. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the core26 spread test suite. Added a CI job, refactored tests for multi-core compatibility, updated task.yaml ordering, and implemented base setup and restoration logic. Resolves SNAPCRAFT-1328. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #6164 test(spread): add core26 package-cutoff test | snapcraft | merged | Merged #6164 in commit 927e31121, adding core26 package-cutoff spread coverage. It incorporates #6171 and fixes #6146 and #6148. | |
| #6171 test(spread): update python tests | snapcraft | merged | Merged PR #6171 in commit 0bd8a7894, aligning core26 spread tests and documentation to use the same ordered set of Python packages. | |
| #4056 spread: core24 testing infra | snapcraft | merged | Merged PR #4056 as commit 1fee3d830, adding Spread test infrastructure for Ubuntu Core 24 (CRAFT-1639). | |
| #4932 Migrate or copy core20 and core22 spread tests to core24 | snapcraft | closed | Core24 spread-test coverage was expanded via merged PR snapcraft#5209 (commit 56713c384), enabling plugin tests across 132 files. | |
| #4582 test: add core24 component spread tests | snapcraft | merged | Merged #4582 into feature/components, adding core24 component spread tests by flattening and copying existing tests after CI passed. | |
| #3714 spread: enable core22 | snapcraft | merged | Merged PR #3714 enabled core22 in the Spread test configuration. Implementation commit d2f2a0d43 landed via merge commit 6b42ca1bb. | |
| #3877 tests: enable provider spread tests for core22 | snapcraft | merged | Merged as commit 7612a3a87: renamed the spread test dir build-providers to providers and moved legacy-only tests into providers/legacy, enabling provider spread tests on core22 (CRAFT-1266). Prerequisite for #3875. | |
| #3269 spread tests: remove references of core16 | snapcraft | merged | Merged PR #3269 via commit ab84886f2, removing core16 references from three spread-test files. | |
| #13 test(spread): add more spread tests | snapcraft-rocks | merged | Merged PR #13 added Spread tests for architectures, Chisel slices, craftctl, package repositories, and patchelf (+206/-5 across 15 files). | |
| #1325 test(spread): consolidate basic init/build tests | charmcraft | merged | Merged PR #1325 as commit 90e25caf, consolidating basic Spread init/build tests for CRAFT-2127 and reducing duplicated setup across four files. |