← Back to issue list

build providers: unified provider refactoring for provider setup

View original Github issue

Metadata

Project
snapcraft
Number
#3290
Type
pull request
State
closed
Author
cjp256
Labels
—
Created
Updated
Closed

Current evaluation

Closed unmerged; the proposed unified build-provider setup refactor in #3290 was not adopted.

Resolution: closed stale

Reason: The repository record shows PR #3290 closed with no resolving PR or commit, and the proposed interface refactor was not adopted. No superseding change or maintainer explanation was identified.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Refactoring for unified approach to checking if a provider is ready, and performing installation. - Adds 'is_provider_ready()' interface, replacing 'ensure_provider()'. - Makes 'setup_provider()' responsible for all user interaction to install and/or configure the provider, and its depdenencies. Adds 'interactive' parameter to allow for non-interactive installs, though not currently utilized. - Refactored LXD checks into their own methods, adding a compatibility check to check the LXD version is 4.0+, and removing the snap install check in favor of just ensuring the hardcoded /snap/bin/lx[cd] paths are present. - Moves setup code out of MultipassCommand into the Multipass provider. - Update lifecycle CLI to utilize new interfaces. When tty is not connected, and setup is required, exit with error that that build provider is not installed or configured. Signed-off-by: Chris Patterson <chris.patterson@canonical.com> - [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [ ] 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
stealth/space-bunny-alpha — closed stale Closed unmerged; the proposed unified build-provider setup refactor in #3290 was not adopted.
stealth/space-bunny-alpha — closed stale Closed unmerged; no resolving PR or commit was identified. The proposed unified build-provider setup refactor was not adopted.
qwen/qwen3.6-35b-a3b — — Abandoned and closed without merge. Refactored provider setup by introducing is_provider_ready and consolidating installation logic. No reviews were completed and changes were not integrated.
qwen3.6-35b-a3b-mtp-q6 — — Closed without merging. The unified provider refactoring was abandoned or superseded by subsequent architectural updates.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#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.
78%
#2275 build providers: use the provider if exported snapcraft merged Merged PR #2275, fixing build-provider selection so an exported provider is used.
72%
#2474 build providers: remove dead code snapcraft merged Merged PR #2474 as commit 4308dd8d3, removing obsolete build-provider methods left over from legacy cleanbuild support.
71%