← Back to issue list

Allow platform-independent builds with the "all" architecture

View original Github issue

Metadata

Project
craft-parts
Number
#1019
Type
issue
State
open
Author
lengau
Labels
Type: Enhancement
Created
Updated
Closed
—

Current evaluation

Maintainer-scoped enhancement to let ProjectInfo accept arch "all", reject target-triplet expansion, and validate plugin output as platform-independent; still unimplemented.

Suggested action: keep open

Reason: The maintainer-authored issue is labeled as an enhancement and precisely defines the required environment and plugin validation behavior. Current ProjectInfo validation still rejects every architecture absent from _DEB_TO_TRIPLET, including "all", so no resolving implementation is present.

Evaluated by: mr-cal-bot

Impact: 55 Quick Win: 15 Complexity: 67 Confidence: 94 Actionability: 84

Issue body

### What needs to get done Allow using the value "all" when creating a ProjectInfo. When this happens, fail during environment expansion if the user uses `$CRAFT_ARCH_TRIPLET_BUILD_FOR` and fail during part loading if any of the parts can't create platform-independent results. (This will require adding something to the plugin to determine this. For most plugins it's a simple True/False, but for the npm plugin this depends on the value the user set for `npm_include_node`). We don't have to worry about anything in override scripts for determining whether the result can be platform-independent. Only consider the direct output of the plugin. ### Why it needs to get done Make creating platform-independent parts easier.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 55
Quick Win: 15
Complexity: 67
Confidence: 94
Actionability: 84
keep open Maintainer-scoped enhancement to let ProjectInfo accept arch "all", reject target-triplet expansion, and validate plugin output as platform-independent; still unimplemented.
qwen/qwen3.6-35b-a3b
Impact: 60
Quick Win: 21
Complexity: 50
Confidence: 75
Actionability: 70
needs triage Enhancement request to allow 'all' as a build-for architecture value in ProjectInfo for platform-independent builds. Unimplemented and untriaged.
qwen/qwen3.8-27b
Impact: 35
Quick Win: 12
Staleness: 80
Complexity: 65
Confidence: 70
Support Request: 0
close stale Feature request to allow 'all' as a build-for architecture in ProjectInfo for platform-independent builds, with per-plugin checks. Unimplemented; counterpart requests in craft-application and snapcraft were closed without implementation or rejected.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 65
Confidence: 80
Support Request: 5
needs triage Enhancement request to support an all architecture value for platform-independent builds. Requires plugin interface updates and environment expansion checks. Currently unassigned with no maintainer comments after 14 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 80
Complexity: 65
Confidence: 85
Support Request: 5
needs triage Feature request to support all architecture for platform-independent builds, requiring plugin and environment expansion updates. Currently unassessed and inactive for over a year.

Update history

No update history recorded yet.

Related work

  • Related To: craft-application#360 (confidence 96%)

    Craft-application implemented support through PR #365, demonstrating upstream demand but not adding the required craft-parts behavior.

  • Related To: craft-platforms#192 (confidence 94%)

    The related platform-format issue is closed, while craft-parts still rejects the "all" architecture.

  • Related To: debcraft#92 (confidence 91%)

    The downstream request for a platform "all" shorthand relies on the broader architecture-independent build capability.

Related issues

Issue Project State Summary Similarity
#360 Allow build-for "all" for platform-independent builds. craft-application closed 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.
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).
70%