providers: use new craft-providers interface
Metadata
Current evaluation
Merged as 3f887b70: replaced Rockcraft's local provider classes with craft-providers and moved providers.py.
Resolution: closed resolved
Reason: PR #120 was merged as commit 3f887b70. It removed the local Provider, LXDProvider, and MultipassProvider classes, adopted craft-providers, and completed CRAFT-1349.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
- Remove Provider, LXDProvider, and MultipassProvider classes
- Use the Provider classes from craft-providers
- Move `rockcraft/providers/providers.py` to `rockcraft/providers.py`
(CRAFT-1349)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged as 3f887b70: replaced Rockcraft's local provider classes with craft-providers and moved providers.py. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged as 3f887b70: replaced Rockcraft's local provider classes with the craft-providers interface, moved providers.py, and completed CRAFT-1349. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #120 as 3f887b70: replaced local provider classes with the craft-providers interface, moved providers.py, and completed CRAFT-1349. | |
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Replaced custom Provider classes with the new craft-providers interface and reorganized the providers module per CRAFT-1349. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #899 providers: use new craft-providers interface | charmcraft | merged | Merged PR #899 (merge commit 538aec31, implementation 5e5acb7c): removed Charmcraft's own Provider/LXDProvider/MultipassProvider classes in favour of craft-providers', and moved charmcraft/providers/providers.py to charmcraft/providers.py. Resolves CRAFT-1279. | |
| #71 providers: install rockcraft snap via craft-providers API | rockcraft | merged | Merged as f31183b7, refactoring provider setup to install the Rockcraft snap through the craft-providers API without functional changes. | |
| #92 providers: refactor get_provider() | rockcraft | merged | Merged PR #92 as commit 5bcc1c80, refactoring get_provider() and moving it from _get_provider.py to providers.py for CRAFT-1375. | |
| #484 providers: refactor to better support multiple providers (CRAFT-362) | charmcraft | merged | Merged PR #484 (commit 93982f90, merge 7a1f50fc) by cjp256 converted providers module into a package for CRAFT-362: added common Provider class, LXDProvider subclass and get_provider(); follow-ups moved get_provider() to providers.py and renamed _helpers to _logs. | |
| #24 requirements: update craft-providers | rockcraft | merged | Merged canonical/rockcraft#24 via commit 33d0b2b7, updating craft-providers to 1.2.0 for significantly faster build-instance warm starts. | |
| #3943 providers: use new craft-providers interface | snapcraft | merged | Merged into snapcraft main as commit 2980d145c: removed in-tree Provider/LXDProvider/MultipassProvider classes in favour of craft-providers, and moved snapcraft/providers/providers.py to snapcraft/providers.py (+65/-1173). | |
| #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. | |
| #4192 requirements: bump craft-providers | snapcraft | merged | Merged PR #4192 into main, bumping craft-providers to 1.13.0 in commit 9f3529597. | |
| #403 build(deps): bump craft-providers to 1.19.2 | rockcraft | merged | Merged PR #403 (commit 4da091b6) bumped craft-providers to 1.19.2 in Rockcraft's frozen requirements, adopting base-v3 to fix LXD instances created with craft-providers 1.16.0 failing to start. | |
| #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. |