feat: remote build command
Metadata
Current evaluation
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.
Suggested action: —
No scores available.
Issue body
This is a rebase of https://github.com/canonical/charmcraft/pull/1531 on the craft-application-on-main PR
Broken bundle build is fixed in https://github.com/canonical/charmcraft/pull/1550
CRAFT-2544
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the remote build command. Addressed review feedback on craft-application dependencies and build-id recovery limits. Follow-up issues were created to resolve concurrent build conflicts and recovery bugs. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the remote build command. Rebased onto craft-application-on-main. Removing the build-id recovery flag caused concurrency bugs, spawning three follow-up issues in craft-application to fix hash generation and concurrent builds. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #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. | |
| #632 feat: add hooks to the remote-build command | craft-application | merged | Merged. Implemented two configurable hooks for the remote-build command to support application-specific build arguments and validation overrides. Approved by two reviewers, passed CI checks, and updated the changelog. | |
| #196 feat: remote build service | craft-application | merged | Merged the remote build service feature, migrating code from snapcraft. Approved by two reviewers, passed CI checks, and introduced 2316 lines across 26 files. | |
| #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. | |
| #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. | |
| #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. | |
| #2768 remote-build: autorecovery | snapcraft | merged | Merged the remote-build autorecovery feature. Related changes were extracted to PR #2772. After addressing comments and rebasing, the branch was approved and merged, modifying three files (+278/-234). | |
| #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. | |
| #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. |