providers: move `confirm_with_user()` call to providers.py
Metadata
Current evaluation
Merged PR #91 as b189a224, moving Rockcraft-specific confirm_with_user() into providers.py and renaming is_provider_available() to is_provider_installed().
Resolution: closed resolved
Reason: PR #91 was approved and merged as commit b189a224. It completed CRAFT-1387 by separating user confirmation from the craft-providers interface while preserving provider installation checks.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
Two changes:
1. `confirm_with_user()` is a rockcraft-specific call, so it is moved out of the craft-providers interface.
- The user confirmation logic was split out to `providers.py`
- `lxd.py` and `multipass.py` still handle the installation and ensure the provider is available
3. Rename `is_provider_available()` to `is_provider_installed()`
(CRAFT-1387)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #91 as b189a224, moving Rockcraft-specific confirm_with_user() into providers.py and renaming is_provider_available() to is_provider_installed(). | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #91 as b189a224: moved Rockcraft-specific user confirmation into providers.py, retained LXD/Multipass installation handling, and renamed is_provider_available() to is_provider_installed(). | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #91 (b189a224): moved Rockcraft-specific confirm_with_user() into providers.py and renamed is_provider_available() to is_provider_installed() across 10 files. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged Rockcraft PR #91: moved confirm_with_user() logic to providers.py and renamed is_provider_available() to is_provider_installed() for CRAFT-1387. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval and passing CI. Moved the rockcraft-specific confirm_with_user logic out of the craft-providers interface into providers.py. Renamed is_provider_available to is_provider_installed across ten files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged refactor moving rockcraft-specific confirm_with_user logic to providers.py and renaming is_provider_available to is_provider_installed. This decouples user confirmation from the craft-providers interface. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#3938
(confidence 70%)
Parallel merged change applying the same interface separation in Snapcraft.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3938 providers: move `confirm_with_user()` call to providers.py (#91) | snapcraft | merged | Merged #3938 moved Snapcraft's confirm_with_user() prompt out of the craft-providers interface and into providers.py; landed as commit 792d45f2f. | |
| #3940 providers: move `get_provider()` to providers.py | snapcraft | merged | Merged PR #3940 by mr-cal moved get_provider() into snapcraft/providers.py (squash commit 2acdd89b6), a CRAFT-1409 refactor mirroring canonical/rockcraft#92, part of a series of provider/lifecycle function moves. | |
| #898 providers: move `get_provider()` to providers.py | charmcraft | merged | Merged charmcraft#898, moving get_provider() into providers.py for CRAFT-1410 after prerequisite charmcraft#896 landed. | |
| #894 (internal) Moved user confirmation on provider installation (CRAFT-1401) | charmcraft | merged | Merged PR #894, moving user confirmation for provider installation; implementation d88f8cc9 landed via merge commit c129d921. | |
| #120 providers: use new craft-providers interface | rockcraft | merged | Merged as 3f887b70: replaced Rockcraft's local provider classes with craft-providers and moved providers.py. | |
| #896 providers: move `is_base_available()` to providers.py | charmcraft | merged | Merged PR #896 (4ab422f8), moving is_base_available() from craft-providers into Charmcraft's providers.py to keep Charmcraft-specific logic outside the shared interface. |