fix(remotebuild): use legacy launchpad credentials if they exist
Metadata
Current evaluation
Merged in snapcraft#4892 as c1c70a249, adding legacy Launchpad credential fallback, build-for: all support, and expanded remote-build tests; fixes #4889.
Resolution: closed resolved
Reason: PR #4892 was approved and merged to Snapcraft as commit c1c70a249. Its changes resolve issue #4889 by loading legacy Launchpad credentials when present and emitting a deprecation warning.
Evaluated by: mr-cal-bot
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 |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged in snapcraft#4892 as c1c70a249, adding legacy Launchpad credential fallback, build-for: all support, and expanded remote-build tests; fixes #4889. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #4892 (commit c1c70a249) for CRAFT-3077: remote-build now loads legacy Launchpad credentials when present with a deprecation warning, supports `build-for: [all]`, and overhauls remote-build spread tests. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #4892 via commit c1c70a249, adding legacy Launchpad credential fallback with a deprecation warning, build-for all support, and expanded remote-build spread tests. | |
| 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. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#4889
(confidence 100%)
The credential-location issue explicitly fixed by merged PR #4892.
-
Related To:
canonical/craft-application#373
(confidence 95%)
PR #4892 depended on this upstream craft-application change.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4762 fix(remote): use launchpad credentials from legacy location | snapcraft | closed | Closed unmerged; snapcraft#4892 later implemented the legacy Launchpad credential fallback in commit c1c70a249. | |
| #4889 Use launchpad credentials from the new location and fallback to the legacy location | snapcraft | closed | Fixed in canonical/snapcraft#4892 (c1c70a249): both remote builders now fall back to legacy Launchpad credentials and emit a deprecation warning. | |
| #1827679 Update remote build login when Launchpad infrastructure is ready | snapcraft (launchpad) | closed | Remote builds now authenticate with Launchpad personal access tokens instead of SSH keys via snapcraft#4270 (commit 7c80a055b). | |
| #3600 remote build: use channel defaults (CRAFT-568) | snapcraft | merged | Merged #3600, removing hardcoded snapcraft/core18 channel overrides so Launchpad can select remote-build channel defaults (implementation c095b34fe; merge 638239855). | |
| #224 fix(remotebuild): create the launchpad instance correctly | craft-application | merged | Merged PR #224 as commit 87bc56a7, fixing remotebuild to create the Launchpad instance correctly. | |
| #4783 remote build: fail if launchpad fails to create artifacts | snapcraft | closed | Remote-build silently succeeded when Launchpad produced no artifacts. Fixed by merged PR #4826 (commit 552897340), which makes snapcraft remote-build fail when no artifacts are created. | |
| #3648 cli: reintroduce remote-build and promote to snapcraft help | snapcraft | merged | Merged PR #3648 (commit 8dc1ac016), restoring remote-build and promote in Snapcraft's main CLI help for Launchpad bug #1943244. | |
| #2642 remote-build: detect early build errors | snapcraft | merged | Merged PR #2642 by cjp256: remote-build now detects early Launchpad build errors (e.g. missing snapcraft.yaml) instead of misreporting a busy builder; landed as commit 73fd95e86. | |
| #5676 remote build: remove legacy remote builder | snapcraft | closed | Fixed in merged PR #5994 (commit b08f1a66e) for Snapcraft 9.0 by removing the legacy remote builder, selection logic, strategy env var, and legacy credential support. | |
| #1128 feat(remotebuild): add build-path to snap recipes | craft-application | merged | Merged PR #1128 as commit 90cc2c75, adding Launchpad build-path support to SnapRecipe and RemoteBuildService. It fixes #1106 and unblocks canonical/snapcraft#6287. |