Multiple platforms with `build-for: all` might need to be considered an error
Metadata
Current evaluation
Design discussion on whether multiple platforms with build-for: all should be an error in craft-platforms validation logic.
Suggested action: keep open
Reason: The issue involves an unresolved architectural decision about where validation for build-for: all should live (craft-platforms vs. pydantic models in consuming apps). Maintainers @mr-cal and @lengau have engaged in discussion, with @mr-cal leaning toward moving validation to pydantic models and @lengau noting Launchpad may still need this as an error. The validation logic still exists in craft_platforms/_platforms.py's _validate_build_for_all function, and the design decision remains open.
Impact:
60
Quick Win:
27.0
Staleness:
75
Complexity:
55
Confidence:
65
Support Request:
0
Issue body
This was found by @alvaro-crespo:
```python
(
"unified multiple build-for all platforms",
{
"bases": None,
"base": "ubuntu@20.04",
"platforms": {
"ubuntu-amd64": {
"build-on": ["amd64"],
"build-for": ["all"],
},
"ubuntu-arm64": {
"build-on": ["arm64"],
"build-for": ["all"],
},
},
"expected": [("20.04", "amd64"), ("20.04", "arm64")],
},
),
```
This is probably a bug, but I'd like to discuss it with @mr-cal and @cmatsuoka before saying for sure.
1. This is almost certainly a bug if it's accepted for snapcraft and charmcraft.
2. I am unsure how the generic planner should behave in this case.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
60
Quick Win:
27.0
Staleness:
75
Complexity:
55
Confidence:
65
Support Request:
0
|
keep open | Design discussion on whether multiple platforms with build-for: all should be an error in craft-platforms validation logic. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
90
Complexity:
65
Confidence:
80
Support Request:
15
|
close stale | Design discussion on whether multiple platforms with build-for: all should trigger an error, focusing on validation placement between craft-platforms and pydantic models. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
85
Complexity:
45
Confidence:
65
Support Request:
10
|
needs triage | Stalled discussion on whether multiple platforms using build-for: all should trigger an error, with maintainers debating validation placement between pydantic and craft-platforms. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
80
Complexity:
70
Confidence:
75
Support Request:
10
|
keep open | Architectural discussion on whether multiple platforms with build-for: all should trigger an error, involving validation responsibility. Currently stalled with maintainer comments but lacks labels or assignee. |
Update history
No update history recorded yet.
Related issues
No related issues found above the similarity threshold.