remote-build: rework WorkTree and LaunchpadClient classes
Metadata
Current evaluation
Resolved by merged PR #4390 (commit 80ffb5191), migrating LaunchpadClient and WorkTree into snapcraft/remote_build.
Resolution: closed resolved
Reason: PR #4390 was merged as commit 80ffb5191, completing the migration to snapcraft/remote_build. It also modernized GitRepo and converted the associated tests to pytest.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
Migrate the legacy remote-build code to snapcraft/remote_build/
This involves:
- simplifications to WorkTree class
- no tarballing sources
- no modifications to snapcraft.yaml
- use new `pygit2` wrapper
### Why it needs to get done
remote-build needs to be migrated because it does not leverage the new craft libraries, has issues with building core22 snaps, and has issues related to how the local project is bundled.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Resolved by merged PR #4390 (commit 80ffb5191), migrating LaunchpadClient and WorkTree into snapcraft/remote_build. | |
| stealth/space-bunny-alpha | — | closed resolved | PR #4390 merged the migration of LaunchpadClient and WorkTree into snapcraft/remote_build, modernizing GitRepo and converting tests to pytest. | |
| qwen/qwen3.6-35b-a3b | — | — | The remote-build refactoring was closed without implementation. Migration to snapcraft/remote_build/ and WorkTree simplifications were abandoned or superseded by subsequent project updates. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. The remote-build migration to simplify WorkTree and LaunchpadClient classes appears abandoned or superseded. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation or comments, indicating the remote-build migration task was abandoned or superseded. No resolution details provided. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without implementation or discussion. The remote-build migration and WorkTree/LaunchpadClient refactoring were abandoned or superseded by subsequent development. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/snapcraft#4390
(confidence 100%)
The merged remote-build migration directly implemented the requested LaunchpadClient and WorkTree rework.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4390 chore(remote-build): migrate LaunchpadClient and WorkTree | snapcraft | merged | Merged PR #4390 as commit 80ffb5191, migrating LaunchpadClient and WorkTree out of snapcraft_legacy and modernizing their implementation and pytest coverage; fixes #4323. | |
| #4389 feat(remote-build): add LaunchpadClient | snapcraft | closed | Closed unmerged and superseded by #4390, which merged the LaunchpadClient and WorkTree migration as commit 80ffb5191. | |
| #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. | |
| #4892 fix(remotebuild): use legacy launchpad credentials if they exist | snapcraft | merged | Merged in snapcraft#4892 as c1c70a249, adding legacy Launchpad credential fallback, build-for: all support, and expanded remote-build tests; fixes #4889. | |
| #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. |