feat: add platforms and drop architectures for core24
Metadata
Current evaluation
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.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `tox run -m lint`?
- [x] Have you successfully run `tox run -e test-py310`? (supported versions: `py39`, `py310`, `py311`, `py312`)
-----
This PR is a draft.
- Add `platforms` in core24
- Drop `architectures` in core24
Similar to `architectures`, the `platforms` keyword is optional and defaults to building-on and building-for the host architecture.
As much as possible, I tried to follow charmcraft's and rockcraft's implementation of platform support.
(CRAFT-2535)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged to add platforms support and drop architectures for core24. Build-for and validation test failures were resolved, with remaining upstream dependencies tracked in craft-application and issue #4867. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged core24 platforms support and architecture removal. Initial spread failures stemmed from craft-application build-for gaps, addressed via upstream tracking. Remaining remote build issues tracked in follow-up PR #4867. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #4565 feat: implement core24 "pack" command | snapcraft | merged | 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. | |
| #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. | |
| #4867 Migrated my app to core24. Platforms is declared only as amd64 and arm64 but remote build is trying to build for all platforms. | snapcraft | closed | Fixed. Launchpad now correctly parses the platforms keyword for core24 snaps, resolving the remote build issue that ignored declared amd64 and arm64 architectures. Resolution tracked via Launchpad bug #2072622. | |
| #5111 feat: use `craft-platforms` for build plans | snapcraft | merged | Merged the change to replace existing build plan logic with the craft-platforms library. Approved by two reviewers, the update modifies six files with a net reduction of 17 lines, streamlining platform detection and build configuration. | |
| #6069 docs: rewrite platform docs | snapcraft | merged | Squash-merged rewrite of platform documentation. Dropped core20, added core26, and renamed architectures to platforms. Fixes #6039. Approved by two reviewers with all CI checks passing. | |
| #52 feat: add support for the "platforms" primitive | rockcraft | merged | Implemented multi-arch support via the platforms primitive, resolving issue #49. Merged after reviewer approval, passing CI checks, and conflict resolution. |