← Back to issue list

chore(remote-build): migrate LaunchpadClient and WorkTree

View original Github issue

Metadata

Project
snapcraft
Number
#4390
Type
pull request
State
merged
Author
mr-cal
Labels
Created
Updated
Closed

Current evaluation

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.

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 `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
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.
qwen3.6-35b-a3b-mtp-q6 Merged migration of WorkTree, LaunchpadClient, and unit tests from snapcraft_legacy. Modernized code conventions, updated tests to pytest, and replaced snapcraft-specific logic with generic utilities. Passed lint and test checks.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#4389 feat(remote-build): add LaunchpadClient snapcraft closed Closed after migrating LaunchpadClient and WorkTree from snapcraft_legacy, modernizing code conventions and updating tests to pytest. Resolves issue #4323.
81%
#4323 remote-build: rework WorkTree and LaunchpadClient classes snapcraft closed The remote-build refactoring was closed without implementation. Migration to snapcraft/remote_build/ and WorkTree simplifications were abandoned or superseded by subsequent project updates.
76%
#5390 chore(remotebuild): use new build planner snapcraft merged Merged remote build updates to adopt the new get_launchpad_build_plan() and remove unit test xfails. Approved by two reviewers, passed CI checks, and integrated.
71%
#221 chore(merge): 2.6.2 into main craft-store merged Merged into main after passing CI and receiving two approvals. Backports a fix from craft-store PR #175 to resolve snapcraft issue #5077, addressing a regression from the craft-store 3.0 upgrade. A follow-up craft-store release is planned.
70%