fix(remotebuild): error early for multiple artifacts per build-on
Metadata
Current evaluation
Merged. Adds early validation to prevent Launchpad build failures when multiple artifacts share the same build-on architecture. Replaces cryptic errors with a clear message, resolving issue #4995. Approved and passed CI.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `tox run -m lint`?
- [x] Have you successfully run `tox run -e test-py310`? (supported versions: `py39`, `py310`, `py311`, `py312`)
-----
Launchpad cannot build multiple artifacts on the same build-on architecture and will fail with an esoteric error.
Snapcraft now checks for the scenario and fails with an informative error before the build begins.
Fixes #4995
(CRAFT-3279)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Adds early validation to prevent Launchpad build failures when multiple artifacts share the same build-on architecture. Replaces cryptic errors with a clear message, resolving issue #4995. Approved and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a fix validating remote builds early to prevent esoteric Launchpad failures when multiple artifacts target the same architecture. Snapcraft now exits with a clear error before initiation, resolving issue #4995. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged PR implements early validation to prevent Launchpad build failures when multiple artifacts share a build-on architecture. Replaces esoteric errors with an informative message, resolving #4995. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3021 remote-build: remove artifact sanity check | snapcraft | merged | Merged removal of the artifact sanity check in remote-build. The validation incorrectly failed on multi-architecture builds from Launchpad. Removing it enables direct artifact downloads without unnecessary checks. Approved and passed CI. | |
| #5351 fix(remote): error early for invalid platform usage | snapcraft | merged | Merged a fix that raises an early error when --build-for conflicts with shorthand platform entries, preventing unfriendly Launchpad failures. The change passed CI checks and received approvals, resolving issue #5270. | |
| #4495 remote build: odd errors for certain `architectures:` setups | snapcraft | closed | Remote build architecture validation errors and misleading logs were fixed via remote-builder improvements and PR 4994. Conflicting build-for flags now yield a user-friendly error, and Launchpad reporting was corrected. Closed. | |
| #5265 fix(remotebuild): don't fail when cross-compiling | snapcraft | merged | Merged fix resolving remote build cross-compilation failures. Snapcraft now passes build-on architectures to Launchpad instead of build-for, enabling correct cross-compilation and addressing issue #4996. Approved by reviewers and passed CI. | |
| #4783 remote build: fail if launchpad fails to create artifacts | snapcraft | closed | Fixed via #4826. Snapcraft remote-build now exits with an error when Launchpad fails to produce artifacts due to architecture mismatches, replacing the previous silent success with explicit failure reporting and validation. | |
| #4826 fix(remote-build): fail if no artifacts are created | snapcraft | merged | Merged fix for issue #4783 that ensures remote builds fail when no artifacts are generated. Approved by two reviewers, passed CI, and merged with 214 additions and 4 deletions across two files. | |
| #224 fix(remotebuild): create the launchpad instance correctly | craft-application | merged | Approved by two reviewers and passing CI, the fix to correctly create the remotebuild launchpad instance was successfully merged. | |
| #4892 fix(remotebuild): use legacy launchpad credentials if they exist | snapcraft | merged | Merged fix enabling legacy Launchpad credential fallback for remote builds with a deprecation warning. Added build-for all support, updated spread tests, and resolved issue 4889. Requires craft-application 3.1.0+. Approved and passed CI. |