← Back to issue list

feat(remote-build): new command logic

View original Github issue

Metadata

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

Current evaluation

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.

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 the command logic used to orchestrate a remote build. - Some of this code was moved to a new class, `RemoteBuild` - Store a copy of the project directory in the local cache - Clean up the cache after a build completes - Typing and linting updates Builds on #4390, so "only" the last 8 commits are for this PR (update: #4390 was landed and this PR is rebased onto main). The new remote-build should be functional, so I encourage you to give it try. Fixes #4324 (CRAFT-1979)

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b 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.
qwen3.6-35b-a3b-mtp-q6 Merged into main. Implements a new RemoteBuild class to orchestrate remote builds, adds local project directory caching, and handles post-build cache cleanup. Resolves #4324.
qwen3.6-35b-a3b-mtp-q6 Merged into main. Migrates remote build orchestration to a new RemoteBuild class, adds local project directory caching, and implements post-build cleanup. Includes typing and linting updates. Resolves #4324.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#4368 feat(remote-build): add GitRepo class snapcraft merged Merged into main, introducing a GitRepo class for remote builds to resolve #4320. Approved by two reviewers with passing CI and 100% diff coverage. An unrelated spread failure was noted for later investigation.
79%
#1546 feat: remote build command charmcraft merged Merged the remote build command feature. Approved by two reviewers and passing CI, the PR rebases prior work and adds remote build functionality. Follow-up issues were created to resolve related build-id recovery and dependency bugs.
78%
#293 feat(remote-build): allow a user-provided project craft-application merged Merged after two approvals. Enables commands to set a user-provided project for remote builds without additional protections. Changes modify six files (+169/-12). Two unresolved review comments were noted before merge.
78%
#769 feat: add the remote-build command rockcraft merged Merged the remote-build command. Approved by three reviewers, the change adds 86 lines and removes 7 across nine files. Integrated by the maintainer without further comments or CI issues.
76%
#4432 fix(remote-build): improve logging and catch exceptions snapcraft merged Merged pull request improving remote build logging and exception handling. Approved by reviewers, passed CI checks, and resolves issue #4399.
75%
#586 feat: add a 'remote-build' command craft-application merged Merged a 'remote-build' command adapted from Charmcraft to be craft-tool-agnostic. Approved by three reviewers and implemented across six files with 331 additions.
75%
#4385 feat(remote-build): get build id snapcraft merged Merged implementation for remote build ID generation or command-line acceptance, resolving issue #4322. Approved by reviewers, passed CI, and adds logic to handle build IDs automatically or via input.
75%
#2642 remote-build: detect early build errors snapcraft merged Merged. Improved remote build error detection to distinguish between pending builders and actual failures like missing config or timeouts. Approved by reviewer, passed CI, and modified 3 files (+131/-47 lines). Minor import fix applied.
73%
#4370 feat(remote-build): check if project is in a git repository snapcraft merged Merged feature adding git repository detection for remote-build. Falls back to legacy remote-build logic when a project lacks a git repository, resolving issue #4321. Approved by two reviewers and passed CI checks.
73%
#4882 docs: add explanation for remote build snapcraft merged Merged documentation update detailing current and legacy remote builder behaviors. Approved by reviewers and passed CI. Resolves issue #4842 by establishing comprehensive guidance prior to future behavioral changes.
72%