← 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

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.

Suggested action:

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
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.
qwen3.6-35b-a3b-mtp-q6 Closed without merge activity, indicating the provider setup refactoring was abandoned. The changes proposed unified readiness checks and centralized installation logic across build providers.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2515 build providers: support for provider setup snapcraft merged Merged after approval and passing CI. Implemented provider setup support by relocating checks and initialization logic into provider implementations. Modified ten files (+212/-121 lines) and resolves LP #1821586.
76%
#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.
71%