← Back to issue list

providers: integrate craft-providers support

View original Github issue

Metadata

Project
snapcraft
Number
#3660
Type
pull request
State
merged
Author
cmatsuoka
Labels
Created
Updated
Closed

Current evaluation

Integrated craft-providers support to run lifecycle commands in LXD or Multipass build providers. Merged with 1338 additions and 41 deletions across 22 files, adapting Charmcraft's implementation after reviewer approval.

Suggested action:

No scores available.

Issue body

Run lifecycle commands inside a build provider using lxd or multipass. Craft-providers glue code based on Chris Patterson's implementation for Charmcraft. Note: multipass images for multipass will be fixed when base devel is implemented. Co-authored-by: Chris Patterson <chris.patterson@canonical.com> Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com> - [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you successfully run `./runtests.sh static`? - [ ] Have you successfully run `./runtests.sh tests/unit`? -----

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Integrated craft-providers support to run lifecycle commands in LXD or Multipass build providers. Merged with 1338 additions and 41 deletions across 22 files, adapting Charmcraft's implementation after reviewer approval.
qwen3.6-35b-a3b-mtp-q6 Merged into snapcraft/7.0. Integrated craft-providers support to execute lifecycle commands via LXD or Multipass. Co-authored with Chris Patterson. Successfully merged despite a reported code coverage decrease.
qwen3.6-35b-a3b-mtp-q6 Merged into snapcraft/7.0, integrating craft-providers to run lifecycle commands in LXD or Multipass build providers. Successfully merged despite a Codecov-reported coverage decrease.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#9 providers: add build provider support (CRAFT-28) rockcraft merged 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.
84%
#484 providers: refactor to better support multiple providers (CRAFT-362) charmcraft merged Merged following two approvals and passing CI. Refactored the providers module into a package introducing a common Provider interface and LXDProvider subclass to accommodate future providers like Multipass. No behavioral changes. Minor naming adjustments applied during review.
79%
#198 requirements: update craft-providers to 1.7.2 rockcraft merged Merged an update to the craft-providers dependency, upgrading it to version 1.7.2. The change incorporates LXD performance improvements, id map validation, and base instance caching. Approved by two reviewers, passed CI checks, and modified three files.
76%
#925 providers: set lxd project to 'charmcraft' charmcraft merged Merged a fix setting the LXD project to 'charmcraft' instead of 'default', resolving a regression from the craft-providers migration. Approved by one reviewer, the change updates two files with a +10/-4 diff.
76%
#504 providers: improve error handling (CRAFT-472) charmcraft merged Improved error handling for provider-generated exceptions by adding try/except blocks for LXD and Multipass, chaining exceptions, and adding test coverage. Merged after approval and passing CI checks.
75%
#206 requirements: update craft-providers to 1.8.0 rockcraft merged Merged update to craft-providers 1.8.0. Adds auto-cleaning for interrupted build instances, LXD image remote support, and updated base compatibility tags. Approved by two reviewers and passed CI.
75%
#137 build(deps): bump craft-providers to 1.19.2 craft-application merged Merged dependency update to craft-providers 1.19.2. Resolves LXD instance startup failures by migrating the base compatibility tag from v2 to v3. Approved by reviewers, passed CI, and merged with no coverage impact.
75%
#1370 build(deps): bump craft-providers to 1.19.2 charmcraft merged Merged after three approvals and passing CI. Bumps craft-providers to 1.19.2, fixing LXD instance startup failures by updating the base compatibility tag from base-v2 to base-v3 and requiring a disk device in the default LXD profile.
75%
#4244 requirements: update craft-providers to 1.10.1 snapcraft merged Merged update to craft-providers 1.10.1, resolving #4181. Changes include setting LXD hostnames, updating the Multipass Lunar image to stable, and pinning urllib3 below version 2. Approved by one reviewer and passed CI checks.
74%
#4437 build(deps): bump craft-providers to 1.19.2 snapcraft merged Merged update bumping craft-providers to 1.19.2. Resolves LXD instance startup failures by updating the base compatibility tag from base-v2 to base-v3. Approved by reviewers and passed CI.
74%