chore(remote-build): migrate LaunchpadClient and WorkTree
Metadata
Current evaluation
Merged PR #4390 as commit 80ffb5191, migrating LaunchpadClient and WorkTree out of snapcraft_legacy and modernizing their implementation and pytest coverage; fixes #4323.
Resolution: closed resolved
Reason: PR #4390 was merged into main as commit 80ffb5191. Its migration of WorkTree, LaunchpadClient, GitRepo, utilities, errors, and tests resolved issue #4323.
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 `make lint`?
- [x] Have you successfully run `pytest tests/unit`?
-----
Migrate `WorkTree`, `LaunchpadClient`, and their tests from `snapcraft_legacy`. Reviewing by commit is the "easiest" (this is still a large code migration to review).
Scope:
- Add extra errors and utilities
- Tweak the `GitRepo` class
- Migrate `WorkTree`, `LaunchpadClient`, and their unit tests
- Modernize to current code conventions and style
- Replace snapcraft-specific code with generic code
- Update tests from `unit.TestCase` to `pytest`
Note that the WorkTree class is pretty empty now. It will get populated more as part of #4324.
Fixes #4323
(CRAFT-1978)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #4390 as commit 80ffb5191, migrating LaunchpadClient and WorkTree out of snapcraft_legacy and modernizing their implementation and pytest coverage; fixes #4323. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #4390 as 80ffb5191, moving WorkTree and LaunchpadClient out of snapcraft_legacy, modernizing GitRepo and tests, and fixing #4323. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged into main as commit 80ffb5191: moved WorkTree, LaunchpadClient and GitRepo tweaks out of snapcraft_legacy into the remote-build code, added errors/utilities, modernised style and converted tests to pytest (CRAFT-1978), closing #4323. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged as commit 80ffb5191: migrated WorkTree and LaunchpadClient out of snapcraft_legacy into craft-application remote_build, modernized GitRepo, converted tests to pytest, and closed issue #4323. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged as commit 80ffb5191: moved WorkTree, LaunchpadClient, GitRepo tweaks and their tests from snapcraft_legacy into the remote-build code, modernised style and converted unit.TestCase tests to pytest, closing #4323 (CRAFT-1978). | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #4390 as commit 80ffb5191, migrating LaunchpadClient and WorkTree from snapcraft_legacy, modernizing GitRepo and tests, and resolving #4323. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged into main in commit 80ffb5191, migrating LaunchpadClient and WorkTree from snapcraft_legacy and modernizing their tests. Closes #4323. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged into main after two approvals and passing CI. Migrates LaunchpadClient and WorkTree classes and tests from snapcraft_legacy, modernizing conventions, updating to pytest, and refactoring GitRepo. Resolves #4323. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged migration of WorkTree, LaunchpadClient, and tests from snapcraft_legacy. Code modernized, updated to pytest, and snapcraft-specific logic replaced with generic utilities. Fixes #4323. Unrelated test failure noted. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcore/snapcraft#4323
(confidence 100%)
The PR explicitly states “Fixes #4323,” and the issue record identifies PR #4390 as its resolution.
-
Related To:
snapcore/snapcraft#4324
(confidence 95%)
The PR notes that the new remote-build command logic in #4324 would further populate WorkTree.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4323 remote-build: rework WorkTree and LaunchpadClient classes | snapcraft | closed | Resolved by merged PR #4390 (commit 80ffb5191), migrating LaunchpadClient and WorkTree into snapcraft/remote_build. | |
| #4389 feat(remote-build): add LaunchpadClient | snapcraft | closed | Closed unmerged and superseded by #4390, which merged the LaunchpadClient and WorkTree migration as commit 80ffb5191. | |
| #1078 chore!: remove deprecated APIs | craft-application | merged | Merged PR #1078 as 3334f13e, removing eight deprecated APIs and fixing #1063. All CI checks passed, with local Snapcraft verification. | |
| #5246 chore(merge): 8.6.1 into main | snapcraft | merged | Merged release 8.6.1 into main via PR #5246 (commit 94819a743), including fixes for classic uv snaps and private Launchpad remote builds. | |
| #6241 chore: remove snapcraft_legacy | snapcraft | merged | Merged #6241 via commits ffb164b7a and 995f0a3bc, deleting snapcraft_legacy, obsolete specs, and legacy-only dependencies after its entry points were removed. |