No way to express different build dependencies on different architectures without repetition of the list of dependencies
Metadata
Current evaluation
Untriaged grammar limitation: common build-snaps reportedly fail to combine with dependencies selected for multiple architectures; expected comma-selector semantics need confirmation.
Suggested action: needs triage
Reason: The issue has no labels, comments, assignee, or maintainer response, so it has not been assessed. Exact YAML examples are provided, but no command, output, or affected version is given; additionally, current documentation defines comma-separated selectors as conjunctive (all must match), while the example appears to expect any listed architecture to match, so intended semantics and a reproducer need confirmation.
Evaluated by: mr-cal-bot
Impact:
40
Quick Win:
13
Complexity:
48
Confidence:
78
Actionability:
62
Issue body
The snapcraft advanced grammar [0] does unfortunately not allow us to express different build dependencies on different architectures without repetition of the list of dependencies.
Making use of composition at the YAML level is also not possible because merging sequences is just not supported [1].
While our current use case fortunately [2] do not contain a lot of dependencies this may quickly become an issue for us.
Previously I'm sure it was possible to list dependencies relevant for all architectures and at the same time have a few blocks for architecture specific dependencies, but this appears to no longer work.
The interesting thing is that if I use `to` or `on` with a single selector, combining lists appear to work, but if I add a list of selectors it appear to not work, e.g:
build-snaps:
- go/1.22/stable
- on amd64:
- golangci-lint
vs:
build-snaps:
- go/1.22/stable
- on amd64,arm64,ppc64el,s390x:
- golangci-lint
The latter matches the documented behavior [0], but only the former appear to (insufficiently) work.
What does work is [2], but it's not great.
0: https://snapcraft.io/docs/snapcraft-advanced-grammar
1: https://github.com/yaml/yaml/issues/35#issuecomment-496184265
2: https://github.com/canonical/microovn/commit/837a2617770c8b6400d624d1eba34e4cb97472ff
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
40
Quick Win:
13
Complexity:
48
Confidence:
78
Actionability:
62
|
needs triage | Untriaged grammar limitation: common build-snaps reportedly fail to combine with dependencies selected for multiple architectures; expected comma-selector semantics need confirmation. | |
| stealth/space-bunny-alpha |
Impact:
44
Quick Win:
13
Complexity:
55
Confidence:
78
Actionability:
68
|
needs triage | Untriaged advanced-grammar limitation: common build-snaps reportedly fail to combine with dependencies selected for multiple architectures, while the single-selector form works. No labels or maintainer response; the workaround repeats dependencies. | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
50
Quick Win:
20
Staleness:
85
Complexity:
60
Confidence:
70
Support Request:
20
|
needs triage | Feature request: snapcraft YAML grammar lacks support for architecture-specific build dependencies without repetition. No maintainer response after 671 days. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
50
Confidence:
85
Support Request:
10
|
needs triage | Snapcraft YAML grammar lacks support for architecture-specific build dependencies without repetition. Unlabelled, no maintainer response, inactive for ~1.7 years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
60
Confidence:
85
Support Request:
10
|
needs triage | Snapcraft YAML grammar lacks support for architecture-specific build dependencies without repetition. Currently unlabelled, zero maintainer comments, and inactive for over 1.7 years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
65
Confidence:
85
Support Request:
20
|
needs triage | Unlabelled feature request reporting Snapcraft's YAML grammar lacks support for architecture-specific build dependencies without repetition. No maintainer response in 615 days. |
Update history
| Date | Change |
|---|---|
| created |
Related issues
No related issues found above the similarity threshold.