← Back to issue list

providers: install snaps and packages via craft-providers API

View original Github issue

Metadata

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

Current evaluation

Merged PR #3933 (commit 929a26fd6) reworked snapcraft/providers to install snaps and packages via the craft-providers API instead of bespoke code (CRAFT-1281, CRAFT-1283).

Resolution: closed resolved

Reason: PR #3933 was approved and merged into main as commit 929a26fd6 "providers: install snaps and packages via craft-providers API", with 100% diff coverage per the Codecov report.

Evaluated by: mr-cal-bot

No scores available.

Issue body

- [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/)? - [X] Have you successfully run `make lint`? - [X] Have you successfully run `pytest tests/unit`? ----- Install snaps and packages via `craft-providers`. (CRAFT-1281, CRAFT-1283)

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #3933 (commit 929a26fd6) reworked snapcraft/providers to install snaps and packages via the craft-providers API instead of bespoke code (CRAFT-1281, CRAFT-1283).
stealth/space-bunny-alpha — closed resolved Merged #3933 (457ff26), implementing installation of snaps and packages through the craft-providers API for CRAFT-1281 and CRAFT-1283.
qwen/qwen3.6-35b-a3b — — Merged implementation for installing snaps and packages via the craft-providers API. Approved, passed CI, and increased unit test coverage by 0.46 percent across three changed files.
qwen3.6-35b-a3b-mtp-q6 — — Merged into main. Implements installing snaps and packages via the craft-providers API, addressing CRAFT-1281 and CRAFT-1283. The change achieved 100% diff coverage and increased overall project coverage by 0.46%.

Update history

No update history recorded yet.

Related work

  • Related To: snapcraft#3943 (confidence 80%)

    Follow-up PR merged as 2980d145c removed the in-tree Provider classes entirely in favour of the craft-providers interface, superseding the in-tree providers touched here.

  • Related To: snapcraft#3967 (confidence 45%)

    Related later provider change: commit 2a8d07b24 stopped pushing .bashrc to Multipass instances, built on this provider refactor series.

Related issues

Issue Project State Summary Similarity
#891 (internal) Install snap via craft-providers API (CRAFT-1277) charmcraft merged Merged PR #891 as commit 456601ff, switching Charmcraft snap installation to the craft-providers API and completing CRAFT-1277.
87%
#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.
81%
#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).
78%
#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%
#143 build(deps): bump craft-providers to 1.20.0 craft-application merged Merged PR #143 as commit f0349036, updating craft-providers to 1.20.0 so host-injected snaps also receive their base snap.
75%
#1098 build: update craft-providers rockcraft merged Merged craft-providers update in #1098 (commit bef64dc8) to address recurring snapd watch errors in spread tests.
72%
#3786 providers: update craft-providers snapcraft merged Dependency bump PR snapcraft#3786 (CRAFT-1102) merged into main via 2df6fc6e5, updating the craft-providers pin to 1.3.1 in requirements files after successful manual testing.
72%
#4551 build(deps): bump craft-providers to 1.22.0 snapcraft merged Merged in snapcraft#4551 via commit 7e6149fcf, upgrading craft-providers to 1.22.0 and resolving Launchpad bug 2051567.
72%
#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.
71%
#2174 build_providers: inject snaps when running from a snap snapcraft merged Merged PR #2174 (commit 283ab0bb8) to inject host Snapcraft and base snaps when running from the snapcraft snap, while non-snap runs install them from the store.
71%