← Back to issue list

providers: use new craft-providers interface

View original Github issue

Metadata

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

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.
83%
#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.
78%
#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.
75%
#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.
75%
#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.
74%
#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).
73%
#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%
#4192 requirements: bump craft-providers snapcraft merged Merged PR #4192 into main, bumping craft-providers to 1.13.0 in commit 9f3529597.
72%
#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.
72%
#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%