remote build: error if multiple artefacts can be built on the same architecture
Metadata
Current evaluation
Fixed by merged PR #5005 (commit ad3b54bbd): remote builds now fail early when multiple artifacts share a build-on architecture.
Resolution: closed resolved
Reason: PR #5005 was merged as ad3b54bbd and added preflight validation plus tests rejecting remote build plans with multiple artifacts on the same build-on architecture.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
Check if the build plan will create multiple artefacts on any particular architecture. If it will, then raise an error before sending the project to Launchpad.
### Why it needs to get done
Launchpad cannot build multiple artefacts on the same architecture. It prepares a build environment and runs Snapcraft in destructive mode without specifying `--build-for` or `--platform`. Snapcraft will refuse to run if multiple builds aretfacts can be built.
This is a poor UX because it occurs after the project is uploaded to Launchpad and requires the user to read the logfile downloaded from Launchpad.
The following fails in Launchpad:
```
platforms:
amd64:
build-on: amd64
build-for: amd64
platform2:
build-on: amd64
build-for: riscv64
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR #5005 (commit ad3b54bbd): remote builds now fail early when multiple artifacts share a build-on architecture. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR #5005 (commit ad3b54bbd), adding early rejection of remote build plans with multiple artifacts sharing a build-on architecture. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. The proposed pre-upload validation to prevent multi-artifact builds on identical architectures was abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. Deferred to internal Jira tracking (CRAFT-3279) but remains unfixed. No code changes were merged to validate build plans and prevent remote architecture conflicts. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed. The request was superseded by an internal Jira ticket (CRAFT-3279) to validate build plans and reject multiple artifacts targeting the same architecture before uploading to Launchpad. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without a fix. The issue was abandoned in the repository and tracked internally via Jira ticket CRAFT-3279. No pull request was merged. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/snapcraft#5005
(confidence 100%)
Merged fixing PR explicitly references and resolves issue #4995.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5005 fix(remotebuild): error early for multiple artifacts per build-on | snapcraft | merged | Merged PR #5005 as commit ad3b54bbd, adding preflight validation to reject remote builds with multiple artifacts on the same build-on architecture; fixes #4995. | |
| #4495 remote build: odd errors for certain `architectures:` setups | snapcraft | closed | Remote-build architecture handling was improved; #4994 (5cd480725) fixed CLI validation and #5005 (ad3b54bbd) rejected unsupported duplicate build-on artifacts. | |
| #4793 fix(remote-build): don't fail with certain archs | snapcraft | merged | Merged into the hotfix branch as commit 53ec55cef, fixing architecture-specific remote-build failures from #4780, with companion support in craft-application#343. | |
| #5265 fix(remotebuild): don't fail when cross-compiling | snapcraft | merged | Merged PR #5265 fixed remote cross-compilation by sending build-on architectures to Launchpad; commit f94da8f13 closed #4996. | |
| #4780 remote build: fails with some architecture definitions | snapcraft | closed | Remote-build architecture handling was fixed by merged PR canonical/snapcraft#4793 (commit 53ec55cef), with companion support in canonical/craft-application#343. | |
| #4516 regression: remote-build doesn't accept comma-seperated architectures | snapcraft | closed | Comma-separated remote-build architectures were fixed by merged PR #4543 (b8eed87c0); a later regression was superseded by #4990 and fixed by merged PR #5028 (189edf429). | |
| #2774 remote-build: architecture handling | snapcraft | merged | Merged PR #2774 via commit 8300281d6, cleaning up and fixing remote-build architecture handling. Missing CLI unit tests were acknowledged as follow-up work. | |
| #3021 remote-build: remove artifact sanity check | snapcraft | merged | Merged PR #3021 (commit e4a878561) removed remote-build's artifact arch sanity check, so Launchpad results with arch 'multi' from build-on are downloaded instead of rejected. Fixes LP bug #1870730. | |
| #1870730 Architectures keyword incorrectly interpreted by remote-build | snapcraft (launchpad) | closed | Remote-build treated the combined build-on list as alternatives; maintainers acknowledged an artifact-detection bug, but no fix or closing reference was recorded before #1870730 went stale. | |
| #2042167 remote-build doesn't support shorthand architecture format | snapcraft (launchpad) | closed | Remote-build now handles shorthand architectures consistently; PR #4793 fixed the underlying bug in commit 53ec55cef. |