support architecture-specific builds
Metadata
Current evaluation
Architecture-specific builds were implemented by merged PR canonical/rockcraft#52, adding the platforms primitive in commit 9f4269c4.
Resolution: closed resolved
Reason: Merged PR canonical/rockcraft#52 added the platforms primitive requested in #49. The change was committed as 9f4269c4.
Evaluated by: mr-cal-bot
No scores available.
Issue body
The goal is to support the syntax for a Rockstar to specify a list of “build” and “target” architectures, which would, in turn, result in one ROCK artefact per combination.
All of these ROCK artefacts combined would, later on, compose the multi-arch ROCK (each artefact is an OCI manifest).
---
## Spec
```yaml
# takes a map of labels. Each label produces one ROCK artefact
# dict[str, dict[str, obj]] (req)
platforms:
# labels are free text, used as a default for build-on/build-for when needed
# labels are included in the final ROCK artefact name, eg. my-rock_1.0_<label>.rock.
# There must be at least one label within platforms
amd64:
# will build-on amd64, and build-for amd64
foo:
# same as the previous label "amd64" above, just a different ROCK artefact
# the build environment architecture where Rockcraft CAN build the ROCK artefact
# list (req if `build-for` is present): compatible with $GOARCH,
build-on: [amd64]
# the target architecture(s) the ROCK will be built for.
# both `base` and `build-base` must respect the provided architecture
# list (opt): one of $GOARCH
build-for: amd64
arm:
# `build-for` defaults to the valid architecture defined by the label "arm"
build-on: [amd64, arm, arm64]
i386:
# ERROR: `build-on` must be present
build-for: i386
another-label:
# build-for i386
build-on: [amd64]
build-for: i386:
amd64:
# ERROR: the label-defined arch differs from the one defined by `build-for`
build-on: [amd64]
build-for: arm64
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Architecture-specific builds were implemented by merged PR canonical/rockcraft#52, adding the platforms primitive in commit 9f4269c4. | |
| stealth/space-bunny-alpha | — | closed resolved | Architecture-specific builds were implemented by merged PR canonical/rockcraft#52 (commit 9f4269c4), adding the platforms primitive for configured build/target architecture combinations. | |
| stealth/space-bunny-alpha | — | closed resolved | Implemented via merged PR canonical/rockcraft#52 (9f4269c4), adding the platforms primitive for architecture-specific ROCK builds. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation or discussion. The multi-architecture build specification remains unaddressed and appears abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned. The architecture-specific build specification for Rockcraft was closed without implementation or discussion. No PR or resolution was created. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation, comments, or linked PRs, indicating the architecture-specific build feature request was abandoned or rejected. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without comments or implementation. The architecture-specific build specification was abandoned or superseded by later multi-arch features. No merge or resolution details were provided. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/rockcraft#52
(confidence 100%)
Merged feature PR implementing issue #49 in commit 9f4269c4.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #52 feat: add support for the "platforms" primitive | rockcraft | merged | Merged PR canonical/rockcraft#52 (commit 9f4269c4) added the 'platforms' primitive to rockcraft.yaml, implementing multi-architecture build syntax requested in issue #49, which is now closed. | |
| #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). | |
| #633 fix: improve `platforms.<platform>.build-on` validation | rockcraft | closed | Closed unmerged as redundant: PR canonical/rockcraft#567 had already improved build-on validation by adopting craft-application's default BuildPlanner. |