← Back to issue list

providers: add build provider support (CRAFT-28)

View original Github issue

Metadata

Project
rockcraft
Number
#9
Type
pull request
State
merged
Author
cmatsuoka
Labels
—
Created
Updated
Closed

Current evaluation

Merged build-provider support via commit be6dec45, integrating craft-providers to run builds on LXD. User messages and provider log retrieval were deferred to follow-up work.

Resolution: closed resolved

Reason: PR canonical/rockcraft#9 was approved and merged as commit be6dec45, adding the requested craft-providers integration with LXD as the execution provider.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Integrate rockcraft with craft-providers to run build providers on lxd instances. Notes: * This (rather lage) PR includes craft-providers glue code ported from Charmcraft. * Some user messages such as "Launching provider" to be added in follow-up PR (may depend on craft-cli adjustment). * Provider log file retrieval to be added in follow-up PR (may depend on craft-cli adjustment). * Execution currently hardwired to use the lxd provider. Co-authored-by: Chris Patterson <chris.patterson@canonical.com> Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com> - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? -----

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged build-provider support via commit be6dec45, integrating craft-providers to run builds on LXD. User messages and provider log retrieval were deferred to follow-up work.
stealth/space-bunny-alpha — closed resolved Merged rockcraft#9 via be6dec45, adding craft-providers integration to run builds on LXD. User messages and log retrieval were deferred to follow-up work.
qwen/qwen3.6-35b-a3b — — Merged integration of rockcraft with craft-providers to run build providers on LXD instances. The change ports Charmcraft glue code, hardwires execution to LXD, and defers user messages and log retrieval to follow-up PRs. Approved and passed CI.
qwen3.6-35b-a3b-mtp-q6 — — Integrated rockcraft with craft-providers to run build providers on LXD instances. Merged with glue code ported from Charmcraft, currently hardwired to LXD, while user messaging and log retrieval are deferred to follow-up updates.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#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.
79%
#4437 build(deps): bump craft-providers to 1.19.2 snapcraft merged Merged as commit 7f03ece0b, updating craft-providers to 1.19.2 and its base-v3 LXD compatibility fix; equivalent update #4438 landed as 3ddaf758b.
78%
#1370 build(deps): bump craft-providers to 1.19.2 charmcraft merged Merged PR #1370 in commit 543b5957, bumping craft-providers to 1.19.2; its base-v3 compatibility tag fixes startup failures for LXD instances created by 1.16.0.
77%
#3660 providers: integrate craft-providers support snapcraft merged PR #3660 by cmatsuoka integrated craft-providers into Snapcraft, running lifecycle commands in LXD/Multipass instances. Merged into the 7.0 line via merge commit 7c2ac0027 (squash commit 8a06cdbbd).
76%
#2515 build providers: support for provider setup snapcraft merged Merged PR #2515 as e4a578823, moving build-provider checks and setup into provider implementations and resolving LP #1821586.
76%
#2509 build providers: initial support for LXD snapcraft merged Merged PR #2509 (commit 067024732) adding initial LXD build-provider support: `snapcraft --use-lxd` runs all lifecycle steps and clean inside an LXD container. Released via beta/lxd channel; LP bug #1805221 closed.
76%
#5247 build(deps): bump craft-providers to 2.2.0, finalize 8.6.2 changelog snapcraft merged Merged PR #5247 as commit 10abc58cb, updating craft-providers to 2.2.0 to fix the LXD setup race and finalizing the 8.6.2 changelog.
75%
#4462 build(deps): bump craft-providers to 1.20.1 snapcraft merged Merged as commit 7bd0d3a38, bumping craft-providers to 1.20.1 to fix LXD base-instance setup failures ("Instance setup failed") introduced in1.16.0 by auto-cleaning improperly set-up base instances.
75%
#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.
75%
#1019 build: update craft-providers rockcraft merged Merged PR canonical/rockcraft#1019 (commit 841f7432, "build: update craft-providers"), a 3-line dependency bump to craft-providers that fixed "EOL devel" base errors in spread tests; snap-tests failures were confirmed expected.
74%