providers: install snaps and packages via craft-providers API
Metadata
Current evaluation
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.
Suggested action: —
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 |
|---|---|---|---|---|
| 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%. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into main. Implements snap and package installation via the craft-providers API, resolving CRAFT-1281 and CRAFT-1283. The commit achieved 100% diff coverage and increased overall test coverage by 0.46%. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #891 (internal) Install snap via craft-providers API (CRAFT-1277) | charmcraft | merged | Merged changes to install snap via the craft-providers API, resolving CRAFT-1277. Updates six files with a net reduction of 145 lines. Approved by one reviewer with no unresolved comments or CI failures. | |
| #71 providers: install rockcraft snap via craft-providers API | rockcraft | merged | Merged a refactor updating snapcraft to install the rockcraft snap via the new craft-providers API. The change modifies six files with no functional impact, passed CI checks, and received approval. | |
| #1098 build: update craft-providers | rockcraft | merged | Merged update to the craft-providers dependency to resolve recurring snapd watch errors in spread tests. Approved by two reviewers and passed CI checks. The change modifies three files with minor adjustments. | |
| #143 build(deps): bump craft-providers to 1.20.0 | craft-application | merged | Merged dependency update bumping craft-providers to 1.20.0. Approved by two reviewers, passed CI checks, and maintained 99.02% coverage. The change ensures host-injected snaps include their base snap in the instance. | |
| #3943 providers: use new craft-providers interface | snapcraft | merged | Merged to main. Replaced internal Provider classes with the craft-providers interface and consolidated the providers module. Approved after passing CI and spread tests. Coverage dropped 0.15% with 100% diff coverage; unrelated test failure tracked in PR #3944. | |
| #5873 build(deps/auto): update craft-providers | snapcraft | merged | Merged an automated dependency update for craft-providers to restore snapcraft compatibility. Applied via uv lock, approved by two reviewers, and integrated after passing CI checks. | |
| #899 providers: use new craft-providers interface | charmcraft | merged | Merged after replacing internal Provider classes with the new craft-providers interface. Refactored by moving providers.py to the package root, removing 1253 lines across 17 files. Resolved CRAFT-1279. | |
| #2174 build_providers: inject snaps when running from a snap | snapcraft | merged | Merged. Updates build providers to inject snapcraft and its base from the host when running inside the snapcraft snap, ensuring parity with non-snap environments. Approved by reviewer and passed CI checks. | |
| #120 providers: use new craft-providers interface | rockcraft | merged | 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. | |
| #3786 providers: update craft-providers | snapcraft | merged | Merged to main. Updates the craft-providers dependency to version 1.3.1. The change passed lint, unit tests, and manual verification. Coverage remained unchanged, and the update received maintainer approval prior to merging. |