feat: allow building on other compatible architectures
Metadata
Current evaluation
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.
Suggested action: —
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 |
|---|---|---|---|---|
| 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Enables craft-application to build on compatible architectures by overriding the native host target via CRAFT_BUILD_ON configuration. Successfully integrated, with PR #1040 opened for subsequent improvements. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #532 environment: add build-on and build-for architectures | craft-parts | merged | Merged following approval and CI checks. Introduces CRAFT_ARCH_BUILD_ON and CRAFT_ARCH_BUILD_FOR environment variables to standardize architecture naming, deprecating CRAFT_TARGET_ARCH and CRAFT_ARCH_TRIPLET. Resolves #514. | |
| #598 feat: allow for multi-base builds | craft-application | merged | Merged to enable multi-base builds by allowing bases in the platforms entry. Approved by three reviewers, passed CI, and resolves issue #569. Modified four files with 46 additions and 28 deletions. | |
| #130 feat: optionally check that the architecture/platform is valid | craft-grammar | merged | Merged after passing CI and receiving three approvals. Adds optional architecture and platform validation, resolving craft-grammar issue #123 and CRAFT-4742. Changes span nine files. | |
| #1818 fix(lifecycle): allow building multi-arch charms | charmcraft | merged | Merged to resolve #1697, enabling multi-arch charm builds. Approved by two reviewers and passed CI. The update modifies 38 files (+298/-78 lines) and requires PR #1825. | |
| #153 feat: support foreign architectures | craft-archives | merged | Merged after two approvals and passing CI, adding apt foreign architecture support for deb822-based Ubuntu releases. A final force-push targeted the 2.1.0 release. Resolves #150 and unblocks multiple snapcraft issues. | |
| #2080 project_loader: support architectures for CI | snapcraft | merged | Implemented CI-friendly architectures keyword syntax with build-on and run-on fields. Merged after reviewer approval and passing CI checks. Resolves #1685. Minor discussions on validation error messages and test timeouts did not block the merge. | |
| #133 fix(build): only package craft-application/* | craft-application | merged | Merged a build fix restricting packaging to craft-application/* directories to match Starbase. Approved by three reviewers, passed CI, and caused no coverage change. The single-file update added two and removed six lines. | |
| #365 feat: accept build-for: [all] in platforms | craft-application | merged | Merged via rebase after approval and passing CI. Enables build-for: [all] in platform definitions, restricting other platforms when used. Resolves #360. |