feat: allow building on other compatible architectures
Metadata
Current evaluation
Merged #1027 as commit 15f48281, enabling provider-compatible cross-architecture builds and CRAFT_BUILD_ON architecture selection.
Resolution: closed resolved
Reason: PR #1027 was merged as commit 15f48281. The change allows applications to build on architectures compatible with the provider and includes corresponding tests and changelog updates.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This lets craft-application build on a different architecture as long as it's compatible with the provider.
CRAFT-4992
This PR is built atop #1030.
- [x] Have you followed the guidelines for contributing?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint && make test`?
- [x] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?
---
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #1027 as commit 15f48281, enabling provider-compatible cross-architecture builds and CRAFT_BUILD_ON architecture selection. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #1027 via commit 15f48281, enabling cross-architecture builds when the provider supports the selected build-on architecture. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Enables cross-architecture builds via CRAFT_BUILD_ON. Approved by two reviewers with all CI checks passing. Modifies ten files to support compatible packaging. Follow-up work tracked in PR #1040. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Enables building on compatible architectures by overriding the native host's build_on via configuration or environment variables. Allows explicit architecture targeting during packaging. Follow-up changes are tracked in PR #1040. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-application#1030
(confidence 98%)
PR #1027 was built atop ARM64 CI and test support from merged PR #1030.
-
Related To:
canonical/craft-application#1040
(confidence 90%)
Follow-up PR #1040 was opened after #1027 and closed without changes after confirming the architecture handling.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #532 environment: add build-on and build-for architectures | craft-parts | merged | Merged PR #532 in commit 9f8e969e, adding build-on/build-for architecture and triplet variables, deprecating CRAFT_TARGET_ARCH and CRAFT_ARCH_TRIPLET, and fixing #514. | |
| #598 feat: allow for multi-base builds | craft-application | merged | Merged as d81c39a7; allowed bases in platform entries so applications can implement multi-base build plans, fixing #569 (CRAFT-3719). | |
| #3820 providers: specify build-on and build-for in instance name | snapcraft | merged | Merged #3820 as commit 21cb1ab9a, adding build-on and build-for architecture names to provider instance names for core22 multi-architecture support. | |
| #153 feat: support foreign architectures | craft-archives | merged | Merged PR #153 as commit 64f1092, adding APT foreign-architecture support for deb822-based Ubuntu sources, including core24; released in craft-archives 2.1.0. | |
| #150 Support foreign architectures | craft-archives | closed | Foreign-architecture support shipped in craft-archives 2.1.0 via merged PR #153 (64f1092), replacing prototype #149 and enabling cross-compilation dependencies. | |
| #3821 meta: architectures | snapcraft | merged | Merged core22 architecture support, including build-on/build-for handling, host and build-instance selection, and SNAPCRAFT_BUILD_FOR filtering, via commit 4876b53. |