providers: move `get_provider()` to providers.py
Metadata
Current evaluation
Merged after approval. Moved the get_provider() function to providers.py as part of CRAFT-1410. The refactoring touched 10 files, adding 178 lines and removing 226, and was previously blocked by PR 896.
Suggested action: —
No scores available.
Issue body
Move `get_provider()` to `providers.py`
Blocked by https://github.com/canonical/charmcraft/pull/896.
(CRAFT-1410)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval. Moved the get_provider() function to providers.py as part of CRAFT-1410. The refactoring touched 10 files, adding 178 lines and removing 226, and was previously blocked by PR 896. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after being unblocked by PR #896. The get_provider() function was relocated to providers.py, resolving CRAFT-1410. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after dependency PR #896 was resolved. The get_provider() function was successfully relocated to providers.py to consolidate provider logic. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #92 providers: refactor get_provider() | rockcraft | merged | Merged after approval and passing CI. Refactored and moved get_provider() from _get_provider.py to providers.py across seven files, reducing code by 25 lines. Resolves CRAFT-1375. | |
| #3940 providers: move `get_provider()` to providers.py | snapcraft | merged | Merged the refactoring that moves get_provider() to providers.py. Aligned with rockcraft, the change passed code review and CI checks, modified 7 files, and was successfully integrated into main. | |
| #81 providers: move base configuration logic to providers.py | rockcraft | merged | Merged refactoring that moves base configuration logic to providers.py. The logic is now encapsulated in a single function called by lifecycle.py instead of individual provider classes, resolving CRAFT-1380. Approved and passed CI. | |
| #896 providers: move `is_base_available()` to providers.py | charmcraft | merged | Merged after approval. Moved the charmcraft-specific is_base_available() function from the craft-providers interface to providers.py to separate concerns. The change affects 8 files, adding 149 lines and removing 201. | |
| #899 providers: use new craft-providers interface | charmcraft | merged | Merged after replacing internal Provider classes with the new craft-providers interface. Refactored by moving providers.py to the package root, removing 1253 lines across 17 files. Resolved CRAFT-1279. | |
| #120 providers: use new craft-providers interface | rockcraft | merged | Merged after review and CI approval. Replaced custom Provider classes with the new craft-providers interface, relocated providers.py, and refactored 17 files. Reduced codebase by over 1200 lines, resolving CRAFT-1349. | |
| #3926 providers: move `get_instance_name()` to providers.py | snapcraft | merged | Merged. Moved get_instance_name() to snapcraft/providers/providers.py, removing snapcraft-specific logic from provider modules. This refactoring prepares the codebase for the new craft-providers API. Approved by reviewers and passed all CI checks. | |
| #74 providers: move get_instance_name() to providers.py | rockcraft | merged | Merged after approval and passing CI. Moved the rockcraft-specific get_instance_name() function to providers.py, changing 8 files. Resolves CRAFT-1350. | |
| #91 providers: move `confirm_with_user()` call to providers.py | rockcraft | merged | 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. | |
| #3943 providers: use new craft-providers interface | snapcraft | merged | Merged to main. Replaced internal Provider classes with the craft-providers interface and consolidated the providers module. Approved after passing CI and spread tests. Coverage dropped 0.15% with 100% diff coverage; unrelated test failure tracked in PR #3944. |