build_providers: new build provider using multipass
Metadata
Current evaluation
Merged #2100 in commit c44a4ece9, adding the build_providers package and an MVP Multipass build provider.
Resolution: closed resolved
Reason: PR #2100 was approved and merged as c44a4ece9, landing the requested provider scaffolding and initial Multipass implementation. The reported launch failure during review did not prevent merge.
Evaluated by: mr-cal-bot
No scores available.
Issue body
build_providers is a new package to handle different providers snapcraft
can use to create a snap.
In addition to the scaffolding, an implementation to handle
multipass is provided. This is the MVP for multipass integration.
- [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] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #2100 in commit c44a4ece9, adding the build_providers package and an MVP Multipass build provider. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #2100 (commit c44a4ece9), introducing the build_providers package and an MVP Multipass build provider. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged pull request introducing the build_providers package and MVP multipass integration for snapcraft. Approved by two reviewers despite reported naming inconsistencies and a launch crash, accepted as initial implementation. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Introduces the build_providers package and MVP multipass integration for snapcraft. Despite reviewer reports of naming inconsistencies and a launch crash during testing, the implementation was accepted and merged. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#2339
(confidence 90%)
Follow-up PR #2339 later made Multipass the default lifecycle build provider.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2869 build providers: use multipass from stable | snapcraft | merged | Merged in canonical/snapcraft#2869 (commit eb9bd8fbf), switching build providers to install Multipass 1.0 from the stable channel. | |
| #2511 build providers: modify the _run signature | snapcraft | merged | Merged PR #2511 (commit 46e3d1702) by maintainer sergiusens: extended build provider _run() to return command output and refactored the Multipass provider to wrap execute() instead of calling it directly. | |
| #21 multipass: introduce MultipassProvider | craft-providers | closed | Closed unmerged after prolonged inactivity, with four unresolved review comments. MultipassProvider later landed via #163 (commit fa5a5e7). | |
| #17 multipass: introduce MultipassProvider | craft-providers | closed | Closed unmerged; MultipassProvider was later added by merged PR #163 in commit fa5a5e7, superseding this abandoned implementation. | |
| #308 [WIP] providers: experimental craft-provider support | charmcraft | closed | Closed unmerged as WIP; Multipass provider support was later delivered by merged #491 (implementation 84132dc1, merge 1b855093). | |
| #2215 provider changes | snapcraft | merged | Merged into master as 7a5220858, making Multipass the default build provider on Darwin. | |
| #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. | |
| #9 multipass: introduce Multipass and MultipassError | craft-providers | merged | PR #9 by cjp256 merged into craft-providers (commit e418497), adding a Multipass class wrapping the multipass CLI plus MultipassError, unit/integration tests (test_todo dropped), and pytest-subprocess in requirements-dev. |