fix(remote): parse comma-separated architectures
Metadata
Current evaluation
Merged after approval. Resolves #4516 by enforcing mutual exclusivity between --build-for and --build-on, and adding comma-separated architecture parsing for remote builds. Proceeded despite unrelated spread test failures.
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`)
-----
2 commits:
- fix(remote): make `--build-for` and `--build-on` mutually exclusive
- This was not working as intended (and was not tested)
- This is only for the new remote-build and makes no changes to how legacy remote build handles these arguments
- fix(remote): parse comma-separated architectures
- This uses the same style that legacy remote-build uses for passing architectures - a single comma-separated set
Fixes #4516
(CRAFT-2386)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval. Resolves #4516 by enforcing mutual exclusivity between --build-for and --build-on, and adding comma-separated architecture parsing for remote builds. Proceeded despite unrelated spread test failures. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged fix for remote build argument parsing. Implements comma-separated architecture parsing and enforces mutual exclusivity between --build-for and --build-on. Maintainer merged despite unrelated spread test failures, resolving issue #4516. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged fix for remote build argument handling. Made --build-for and --build-on mutually exclusive and enabled parsing of comma-separated architectures. Resolves #4516. Merged by maintainer despite unrelated CI failures. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5028 fix(remotebuild): parse comma-separated architectures | snapcraft | merged | Merged fix for issue #4990 enabling comma-separated architecture parsing for --build-for and --platform remote build arguments. Approved by two reviewers and verified via passing CI and spread tests. | |
| #4793 fix(remote-build): don't fail with certain archs | snapcraft | merged | Merged a fix for remote-build architecture failures. The changes were retargeted to the hotfix branch per reviewer request before approval and merge. | |
| #2774 remote-build: architecture handling | snapcraft | merged | Merged architecture handling updates for remote-build. Modified one file with 36 additions and 30 deletions. Approved by one reviewer. Author noted missing CLI unit tests and plans a follow-up PR to address them. | |
| #4780 remote build: fails with some architecture definitions | snapcraft | closed | Remote build failures with specific architecture definitions or comma-separated --build-for flags were fixed via PR #4793 and craft-application#343. | |
| #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. | |
| #4516 regression: remote-build doesn't accept comma-seperated architectures | snapcraft | closed | Fixed in PR #4543, the comma-separated architecture parsing regression reappeared in Snapcraft 8.2.7. The issue was closed as superseded, with the maintainer noting the regression will be tracked in a new issue. | |
| #1870730 Architectures keyword incorrectly interpreted by remote-build | snapcraft (launchpad) | closed | Abandoned without a code fix. The remote-build command misinterpreted the architectures keyword, only processing i386 and failing. A CLI workaround using --build-on is recommended instead. |