← Back to issue list

cli: make remote-build more user-friendly

View original Github issue

Metadata

Project
snapcraft
Number
#3553
Type
pull request
State
merged
Author
kyrofa
Labels
Created
Updated
Closed

Current evaluation

Merged improvements to remote-build CLI. Aligns --recover with --status, suppresses unnecessary public data prompts when checking status, and adds tests. Approved and merged.

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 `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh tests/unit`? ----- Remote build currently has a few papercuts. First of all, if there is no outstanding build, `--recover` literally means nothing: it just spins up another build as if it wasn't supplied at all, which in my experience is never what is desired. It also means there is a disconnect between how `--recover` and `--status` works. Fix that by making `--recover` function more like `--status`, and simply say that there are no builds. Harmony! Second, one is _always_ prompted about how data being sent to the remote builders is publicly available, even when using options that don't send any meaningful data to the builders, like `--status` and (now) `--recover`. Fix that by no longer using Click to prompt, and prompting only when actually spinning up a new build. Finally, add tests confirming this behavior.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged improvements to remote-build CLI. Aligns --recover with --status, suppresses unnecessary public data prompts when checking status, and adds tests. Approved and merged.
qwen3.6-35b-a3b-mtp-q6 Merged CLI enhancements for remote-build. Updated --recover to mirror --status behavior when no builds exist, removed redundant public data prompts for non-build commands, and added tests.
qwen3.6-35b-a3b-mtp-q6 Merged. Improved remote-build CLI by fixing --recover to report no builds instead of starting a new one, suppressing unnecessary public data warnings for --status and --recover, and adding tests. Completed after a test re-run.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#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).
78%
#2798 cli: improve the remote-build upload messaging snapcraft merged Merged changes improving CLI remote-build upload messaging. The update replaces public with publicly available to clarify artifact visibility. Approved by reviewer, passed CI, and integrated with minimal code changes.
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.
76%
#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.
75%
#3919 cli: move remote build out of legacy snapcraft merged Merged into main as PR #3919. Moved CLI remote build logic out of legacy, exported --build-for, hidden --build-on, and fixed emitter stopping during prompts. Approved and passed CI checks.
74%
#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.
74%
#2837 remote-build: gpg-signing and usability fixes snapcraft merged Merged changes disabling GPG signing for git commits to fix remote-build failures. Improves error messaging and commit formatting. Approved by reviewer, passed CI, and integrated into the codebase.
74%
#623 fix: remove --status from remote-build overview craft-application merged Removed the non-existent --status argument from the remote-build overview text, resolving #620 and CRAFT-4028. Merged following three approvals and passing CI checks, with the branch retargeted to main.
72%
#2590 remote build: add option to skip public upload question snapcraft merged Merged. Introduces a flag to skip the public upload confirmation prompt during remote builds, supporting non-interactive environments. Approved by two reviewers, passed CI, and includes tty-aware prompts with error handling.
72%
#2825 remote-build: remove need to specify user snapcraft merged Merged after two approvals and CI. Removes remote build user specification, adds automatic login on init, fixes AcceptPublicUploadError, and deletes unused _waiting from LaunchpadClient across five files.
71%