remote-build: new command logic
Metadata
Current evaluation
The remote-build command logic update was closed without implementation. No linked pull request or resolution details exist, indicating the feature was abandoned.
Suggested action: —
No scores available.
Issue body
### What needs to get done
- [ ] Implement the new work area, where the WorkTree is not reused and removed after the build completes.
- Each launchpad build has a unique build-id and WorkTree. In the legacy code, WorkTrees are stored by build-id in `~/.local/share/snapcraft/remote-build/<build-id>/`.
- In the new code, WorkTrees will be stored in the work area `~/.cache/snapcraft/remote-build/<build-id>/`. When the build completes successfully, the WorkTree will be removed. WorkTrees are not reused.
- [ ] use new `_generate_build_id()` from #4322
- [ ] linting and typing updates (e.g. use f-strings)
- [ ] move snapcraft business logic to `snapcraft/commands/remote.py`
### Why it needs to get done
This allows a user to inspect the contents of the WorkTree if the build fails and minimizes disk usage.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | The remote-build command logic update was closed without implementation. No linked pull request or resolution details exist, indicating the feature was abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed and abandoned without implementation. No follow-up activity or pull requests were created to address the proposed remote-build work area changes, build ID generation, or code refactoring. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation or linked pull request. Likely abandoned or superseded due to lack of comments or resolution details. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Planned remote-build command logic updates were closed without implementation. The proposed work area restructuring, build ID integration, and code refactoring were abandoned. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without implementation or linked pull request. The remote-build work area refactoring was abandoned or superseded. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1531 feat: add remote build command | charmcraft | closed | Abandoned. The author closed the pull request to create a new one for the rebased remote-build feature. This version remained open with unresolved review comments and pending external dependencies. | |
| #620 remote-build command missing a `--status` option | craft-application | closed | The remote-build --status option feature was closed without implementation. No pull requests or resolution details were provided, indicating the request was abandoned. | |
| #4321 remote-build: add control logic when the project is in a git repo | snapcraft | closed | Closed without implementation. The proposed control logic to switch remote-build execution based on git repository presence was abandoned. | |
| #4318 remote-build: add control logic for snap base | snapcraft | closed | Closed without implementation. The request to add base-specific control logic for remote-build was abandoned due to lack of activity. | |
| #4322 remote-build: migrate build-id generation | snapcraft | closed | Remote build-id generation migration was closed without comments or a linked pull request, indicating the task was abandoned or superseded by subsequent code refactoring. | |
| #4842 remote build: document nuances of current and legacy remote builders | snapcraft | closed | Closed without implementation. The scope was split into three sub-tasks, but no changes were made. The issue was superseded by internal Jira ticket CRAFT-3000 and abandoned after over two years. | |
| #4319 remote-build: add control logic for envvar `SNAPCRAFT_REMOTE_BUILD_STRATEGY` | snapcraft | closed | Implemented control logic for SNAPCRAFT_REMOTE_BUILD_STRATEGY to toggle between new and legacy remote-build execution. The feature was merged and the issue closed as completed. | |
| #4395 feat(remote-build): new command logic | snapcraft | merged | Merged into main. Introduces a RemoteBuild class to orchestrate remote builds, adds local project directory caching, and implements post-build cache cleanup. Resolves #4324. Approved by three reviewers with passing CI and 97.88% diff coverage. |