← Back to issue list

providers: move `confirm_with_user()` call to providers.py

View original Github issue

Metadata

Project
rockcraft
Number
#91
Type
pull request
State
merged
Author
mr-cal
Labels
—
Created
Updated
Closed

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.
80%
#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.
73%
#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.
72%
#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.
71%
#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.
71%
#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.
71%