providers: prompt user to install LXD if not installed (CRAFT-335)
Metadata
Current evaluation
Merged after two approvals and passing CI. Adds logic to prompt users to install LXD when missing, skipping non-interactive TTYs. Resolves CRAFT-335 with 88 additions and 24 deletions across two files.
Suggested action: —
No scores available.
Issue body
Note that this won't prompt the user if stdin does not appear to
be an interactive TTY.
Signed-off-by: Chris Patterson <chris.patterson@canonical.com>
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged after two approvals and passing CI. Adds logic to prompt users to install LXD when missing, skipping non-interactive TTYs. Resolves CRAFT-335 with 88 additions and 24 deletions across two files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged implementation that prompts users to install LXD when missing, bypassing prompts on non-interactive TTYs. Closes CRAFT-335. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged implementation that prompts users to install LXD when missing, skipping the prompt if stdin is not an interactive TTY. Resolves CRAFT-335. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #419 providers: gracefully handle when LXD not installed (CRAFT-329) | charmcraft | merged | Merged implementation for graceful LXD installation handling during build and clean operations. Introduces ensure_provider_is_available() and is_provider_available() interfaces to verify provider status before execution. Approved and passed CI. | |
| #2570 cli: do not prompt when there is no tty available on stdin | snapcraft | merged | Merged PR #2570 prevents interactive prompts when stdin lacks a TTY, fixing CI hangs. Scripts now fail early instead of blocking on LXD setup. Approved by two reviewers and merged into master. | |
| #42 feat(test-python): install lxd | starflow | merged | Merged pull request to install lxd for test-python. This enables the use-lxd action required for craft-providers on hosted runners. Approved by reviewers and passed all CI checks. | |
| #1677 ci: don't install lxd | craft-parts | merged | Merged a CI configuration update removing the unused LXD installation. Approved by three reviewers, the change was integrated despite unrelated test failures stemming from a Launchpad issue. |