← Back to issue list

Allow build-for "all" for platform-independent builds.

View original Github issue

Metadata

Project
craft-application
Number
#360
Type
issue
State
closed
Author
lengau
Labels
—
Created
Updated
Closed

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

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.
79%
#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).
77%
#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).
73%
#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.
72%
#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).
71%
#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.
71%
#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.
71%
#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).
70%