feat!: fail if we know the project is core24
Metadata
Current evaluation
Merged a breaking change that fails early for core24 projects. Added core24 spread tests with expected failures and updated CI workflows. Approved by two reviewers and passed all checks.
Suggested action: —
No scores available.
Issue body
The purpose of this PR is two-fold:
1) Add breaking code that checks whether the project is known to be core24, to fail early. Otherwise, if the project has a different base (or if there's no project) then we fallback to the current codepath as usual.
2) Add a set of core24 spread tests, each with an expected failure.
A lot of the changes are copied over from existing tests, so some commits can mostly be skimmed. I tried to split them up in a way that makes functional sense (to me at least):
1) First commit has the actual feature of checking the base and adding a new RuntimeError;
2) Second commit adds core24 spread tests, but as a straight-up copy of the existing tests in `tests/spread/core22/`. These tests are unchanged and still have `core22` as base, so they don't need a big review;
3) Third commit has the mostly-automated change of base of the core24 tests. I think it's worth a look over because I had to do a few manual changes;
4) The fourth commit adds all expected failures in these new tests because none of them passes cleanly. For example, all tests that call `snapcraft pack` are expected to fail with `"pack" command is not implemented for core24`. The tests now check for this message and exit.
5) Finally, the fifth commit restricts the CI spread runs to only `tests/spread/core24`. I confirmed that the other tests are passing, and restricting this feature-branch to only core24 tests speeds up the development loop considerably.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged a breaking change that fails early for core24 projects. Added core24 spread tests with expected failures and updated CI workflows. Approved by two reviewers and passed all checks. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a breaking change that fails early for core24 projects. Added core24 spread tests with expected failure assertions and updated CI workflows. Approved and merged after rebasing onto feature/craft-application and adjusting required CI steps. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after approval. Adds an early failure check for core24 projects, includes spread tests with expected failures, and updates the CI workflow. Rebasing onto feature/craft-application preceded the final merge. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4556 feat!: fail if we know the project is core24 | snapcraft | closed | Closed without merging. Remained pending review with zero reviewers and only received a Codecov coverage warning. No CI results or merge activity were recorded, indicating the pull request was likely abandoned or rejected. | |
| #4600 fix(tests): core24 classic linter test expectations | snapcraft | merged | Merged after approval and passing CI. The change updates core24 classic linter test expectations. A maintainer noted a follow-up PR was needed for unit tests, and a reviewer later flagged a separate core22 spread failure. | |
| #4056 spread: core24 testing infra | snapcraft | merged | Merged after receiving two approvals and passing CI checks. Implements core24 testing infrastructure for spread, changing two files with a net addition of 16 lines. Code coverage remained unchanged. | |
| #4608 fix(project): fix core24/devel validation | snapcraft | merged | Merged fix for core24/devel validation. Resolved a bug where the validator values parameter incorrectly contained only previously validated fields. Approved by two reviewers, passed CI, and modified two files. | |
| #2417 fix: fix a series of breaking spread tests | charmcraft | merged | Merged after fixing multiple breaking spread tests. Commits resolve individual failures, while remaining broken tests are marked non-blocking for core24 migration. Approved by reviewers and merged following CI validation. | |
| #4693 feat: core24 using Craft Application and core22 components | snapcraft | merged | Merged after two approvals and passing CI. Updated core24 to use Craft Application and core22 components across 284 files, adding over 10,000 lines and removing nearly 2,000. Codecov noted minor coverage gaps, but changes were integrated. | |
| #5209 tests: enable core24 plugin tests | snapcraft | merged | Merged after four reviewers approved. The changes enable core24 plugin tests across 132 files, adding 2,795 lines. CI checks passed and the code was successfully integrated into the main branch. | |
| #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. | |
| #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. | |
| #4700 feat: partitions for core24 | snapcraft | merged | Merged feature adding partitions for core24. Approved by two reviewers, the PR modifies 16 files (+461/-26 lines). Codecov flagged 10 lines missing coverage, but the changes were successfully integrated into main. |