feat: implement core24 "pack" command
Metadata
Current evaluation
Merged the core24 pack and clean command implementation. Maintainer rebase-merged after two approvals, resolving #4470. Known test failures from missing dependencies were intentionally accepted to advance the craft-application branch.
Suggested action: —
No scores available.
Issue body
As before, this PR is split over multiple commits:
- First one is mostly a cherry-pick of @lengau and @mr-cal 's prototype. I had to do some minor changes to satisfy linters but nothing major;
- Second commit adds the "clean" command, just because it's so easy to implement and used by basically every spread test;
- Third commit re-enables "pack" and "clean" in a bunch of spread tests;
- Final commit updates the expected error messages for those tests that are still failing due to _other_ missing features.
One unfortunate consequence of the spread parametrization that we do in some tests is that now there's no easy way to handle some tests; for instance, `tests/spread/core24/craftctl` has three "subtests" as spread parameters; one is passing and two are failing (because they need adopt-info). Rather than doing a complicated logic in bash to handle this, I think we might just accept these failures in this feature-branch while we work on the issues. If that's acceptable, it means we'll need someone with admin access to ultimately merge this when it's approved.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged the core24 pack and clean command implementation. Maintainer rebase-merged after two approvals, resolving #4470. Known test failures from missing dependencies were intentionally accepted to advance the craft-application branch. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged core24 pack and clean command implementation. Rebase-merged into the feature branch, fixing #4470. Expected test failures for missing features were accepted. Changes were approved and integrated. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged via rebase after implementing core24 pack and clean commands. Resolves #4470. Expected CI failures from missing craft-application features were accepted, and spread tests were prioritized over unit tests. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #4873 feat: support "build-for: [all]" in core24 | snapcraft | merged | Merged implementation of build-for: [all] support for core24 snaps, fixing #4854. Changes were squashed, craft-application updated to 3.0.0, and unit and spread tests added after two approvals. | |
| #4630 feat: add platforms and drop architectures for core24 | snapcraft | merged | Merged platforms keyword addition and architectures removal for core24. Build-for propagation and validation test failures were resolved. Remaining clean command edge cases were deferred to an upstream craft-application issue. | |
| #4717 feat: package component hooks for core24 | snapcraft | merged | Merged following two approvals and passing CI checks. The update adds support for packaging component hooks for core24, modifying 15 files with 419 additions and 89 deletions. Test coverage requirements were met. | |
| #1399 feat: craft-application rebase | charmcraft | merged | Merged the craft-application rebase, altering 109 files with 7,783 additions and 755 deletions. Approved by two reviewers, the update was deemed functional for integration, with remaining issues deferred to future pull requests. | |
| #4692 feat: core24 using Craft Application and core22 components | snapcraft | closed | Superseded by PR #4693 due to branch protection rules. Changes adding core24 support with Craft Application and core22 components were closed without review or merge. | |
| #30 feat: merge 'bundle-snap' into 'core24-8' | snapcraft-rocks | merged | Merged 'bundle-snap' into 'core24-8' following dual reviewer approval. The branch integrates PR #28 and applies a core24 codebase upgrade, adding 113 lines across seven files. | |
| #4557 feat!: fail if we know the project is core24 | snapcraft | merged | 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. | |
| #5767 feat: add support for core26 (#5677) | snapcraft | merged | Added core26 base support with unit tests and build-base handling. Merged after maintainer approval and passing CI checks. | |
| #5616 feat(snapcraft_legacy): pack command runs the lifecycle | snapcraft | merged | Merged squashed PR that aligns the core20 snapcraft pack command with core22 and core24 by running the lifecycle. Approved by three reviewers with all CI checks passing. Resolves #5425. |