fix(remotebuild): use legacy launchpad credentials if they exist
Metadata
Current evaluation
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.
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`)
-----
Changes:
- Load legacy launchpad credentials if they exist and emit a deprecation warning
- Allow `build-for: [all]` in the new remote builder
- Overhaul remote-build spread tests:
- Add tests per-base
- Test with new and old credential filepaths
- Test with and without `platforms` and `architecture` definitions
- Test with new and legacy remote builders
CI job for remote build spread tests: https://github.com/canonical/snapcraft/actions/runs/9784405987
Depends on https://github.com/canonical/craft-application/pull/373
Fixes #4889
(CRAFT-3077)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged fix enabling legacy Launchpad credential loading with a deprecation warning and allowing build-for all in the remote builder. Includes comprehensive spread test overhauls. Resolves issue 4889 and depends on craft-application 3.1.0. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Implements legacy Launchpad credential fallback with a deprecation warning, enables build-for: [all], and updates spread tests. Resolves #4889. Test suite requires craft-application 3.1.0. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4762 fix(remote): use launchpad credentials from legacy location | snapcraft | closed | Abandoned. The maintainer closed the pull request without merging, declining to implement legacy launchpad credential migration. Existing changelog deprecation notices and a call for testing were deemed sufficient. | |
| #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. | |
| #4821 remote build: hangs when logging into Launchpad | snapcraft | closed | Resolved via craft-application#337 with improved Launchpad API retry logic. The CI-specific login hang was explicitly rejected since remote-build is unsupported in CI environments. | |
| #4426 fix(remote-build): parse `--launchpad-timeout` argument | snapcraft | merged | Merged fix for parsing the --launchpad-timeout argument. Resolves a regression in the fallback remote builder and adds support for the new remote builder. Approved, passed CI, and merged to main. Fixes #4397. | |
| #373 feat(remotebuild): add property for launchpad credentials filepath | craft-application | merged | Merged after approval and passing CI. Added a credentials_filepath property to remotebuild, enabling applications to specify a custom credentials file. Unblocks related snapcraft dependencies. | |
| #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. | |
| #5005 fix(remotebuild): error early for multiple artifacts per build-on | snapcraft | merged | 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. |