← 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 as commit 2e0647594; adds RemoteBuild class and new remote-build command orchestration, per-build project cache in the local cache dir with post-build cleanup, plus typing/lint updates (CRAFT-1979). Fixes #4324.

Resolution: closed resolved

Reason: The PR was approved by 3 reviewers and merged into main as commit 2e0647594, landing the remote-build command logic moved into a new RemoteBuild class (snapcraft/services/remotebuild.py, snapcraft/commands/remote.py) and closing issue #4324. It was rebased onto main after its prerequisite PR #4390 landed as 80ffb5191.

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 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
stealth/space-bunny-alpha — closed resolved Merged as commit 2e0647594; adds RemoteBuild class and new remote-build command orchestration, per-build project cache in the local cache dir with post-build cleanup, plus typing/lint updates (CRAFT-1979). Fixes #4324.
stealth/space-bunny-alpha — closed resolved Merged PR #4395 introduced new remote-build orchestration, local project caching and cleanup, plus typing and lint updates; it fixes #4324.
stealth/space-bunny-alpha — closed resolved Merged PR #4395 introduced RemoteBuild orchestration, local project-directory caching with post-build cleanup, and typing/lint updates, fixing #4324.
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.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: snapcore/snapcraft#4324 (confidence 97%)

    The issue explicitly named by the PR as fixed; it is now closed by the merge of #4395.

  • Related To: snapcore/snapcraft#4390 (confidence 88%)

    Prerequisite PR migrating LaunchpadClient and WorkTree (merged as 80ffb5191); #4395 was rebased on top of it.

  • Related To: snapcore/snapcraft#4385 (confidence 62%)

    Nearby remote-build work (build-id generation, 5fc76d839) folded into the same migration effort.

Related issues

Issue Project State Summary Similarity
#4324 remote-build: new command logic snapcraft closed Remote-build logic was replaced by merged PR #4395 (commit 2e0647594), adding isolated per-build cache worktrees, cleanup, and generated build IDs.
81%
#586 feat: add a 'remote-build' command craft-application merged Merged PR #586 as commit 6e49d794, adding a remote-build command adapted from Charmcraft and generalized to be craft-tool-agnostic.
79%
#1531 feat: add remote build command charmcraft closed Remote-build PR was abandoned in favor of rebased #1546, which merged as df5e9c4f and added the remote-build command.
75%
#293 feat(remote-build): allow a user-provided project craft-application merged Added support for user-provided projects in remote builds, resolving #274; PR #293 merged as commit 8d50bcc8.
75%
#5223 remote-build: refactor onto craft-application's command snapcraft closed Remote-build was refactored onto craft-application's RemoteBuild in merged PR #5239 (commit f31d99498), bringing the requested upstream improvements.
74%
#1546 feat: remote build command charmcraft merged Merged PR #1546 as df5e9c4f, adding Charmcraft 3's remote-build command; bundle builds were addressed separately by merged PR #1550 (c73fd609).
74%
#4384 refactor(remote-build): reorganize functions snapcraft merged Merged #4384 via commit 23e2601c9, reorganizing remote-build functions in preparation for #4322; follow-up #4385 added build-ID generation.
73%
#769 feat: add the remote-build command rockcraft merged Merged PR #769 via commit 8e74936f, adding Rockcraft's experimental remote-build command; documentation followed in PRs #800 and #802.
73%
#4432 fix(remote-build): improve logging and catch exceptions snapcraft merged Merged #4432, adding RemoteBuildError handling and improving remote-build logging for #4399; commits fb9a01d0b and 663dcdfab.
73%
#4882 docs: add explanation for remote build snapcraft merged PR #4882 (mr-cal) merged as commit bd49f8db0, adding docs/explanation/remote-build.rst plus index entries to explain current and legacy remote builders; closes documentation issue #4842 (CRAFT-3000).
72%