Allow build-for "all" for platform-independent builds.
Metadata
Current evaluation
Merged PR #365 to support build-for [all] for platform-independent builds, including validation, an application-level opt-out, and tests; resolved #360 and CRAFT-3016.
Resolution: closed resolved
Reason: GitHub records canonical/craft-application#365 as the merged fix for #360. It added platform-independent build-for support and closed the issue after approval and successful CI.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
1. A `Platform` needs to accept a `build-for` architecture of "all" as the only architecture: https://github.com/canonical/craft-application/blob/11b4fff6c4cbb9dfb78720bb23bb9ddbaa6f614f/craft_application/models/project.py#L103
2. `--build-for` needs to accept `all` as a valid architecture.
3. An application should be able to disable this (e.g. Rockcraft)
And tests to ensure that an application works with this in mind.
### Why it needs to get done
Older Snapcraft and Charmcraft supported this.
https://forum.snapcraft.io/t/architectures/4972/25
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #365 to support build-for [all] for platform-independent builds, including validation, an application-level opt-out, and tests; resolved #360 and CRAFT-3016. | |
| stealth/space-bunny-alpha | — | closed resolved | Support for build-for: [all] in platform definitions was merged in canonical/craft-application#365, resolving CRAFT-3016 after approval and passing CI. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation due to inactivity. The request to support all as a build-for architecture for platform-independent builds was abandoned. No resolution, merge, or follow-up PR was created. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The request to accept all as a build-for architecture received no code changes or pull requests. The issue was abandoned or deferred without resolution. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/craft-application#365
(confidence 100%)
Merged PR implementing build-for [all] support and associated tests.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #365 feat: accept build-for: [all] in platforms | craft-application | merged | Merged PR canonical/craft-application#365 (CRAFT-3016): accepts 'build-for: [all]' in platform definitions, disallowing other platforms when set; closes craft-application#360, related to snapcraft#4854. | |
| #254 Implement --build-for in addition to --platform | craft-application | closed | Implemented --build-for platform selection in merged PR canonical/craft-application#272 (commit e99ee656). | |
| #39 feat: build-for all in generic build planner | craft-platforms | merged | Merged #39 as commit 557aca9, adding generic build-planner support and validation for build-for: all; fixes #23 (CRAFT-3008). | |
| #1019 Allow platform-independent builds with the "all" architecture | craft-parts | open | Maintainer-scoped enhancement to let ProjectInfo accept arch "all", reject target-triplet expansion, and validate plugin output as platform-independent; still unimplemented. | |
| #192 Introduce a platform format that can have both `build-for: all` and architecture-specific builds | craft-platforms | closed | Implemented Debcraft-specific mixed-architecture and build-for-all platform handling in merged PR #197 (commit 312896f). | |
| #23 Add support for `build-for: ["all"]` | craft-platforms | closed | Implemented by merged PR #39 (commit 557aca9), adding build-for: ["all"] support to the generic build planner. | |
| #125 Multiple platforms with `build-for: all` might need to be considered an error | craft-platforms | open | Question whether multiple platforms with build-for: all must error. Generic planner still raises AllSinglePlatformError, but maintainers disagree on whether validation belongs here or in consumer schemas; Launchpad compatibility unresolved. | |
| #1698 build-for architecture 'all' for arch-independent charms not supported | charmcraft | closed | Support for build-for: all landed in #1894 (f1755e8f), with architecture-independent charm tests merged in #1895 (f136def1). |