← Back to issue list

providers: introduce charmcraft base configuration (CRAFT-261)

View original Github issue

Metadata

Project
charmcraft
Number
#402
Type
pull request
State
merged
Author
cjp256
Labels
Created
Updated
Closed

Current evaluation

Merged after approval and passing CI. Adds CharmcraftBuilddBaseConfiguration to extend buildd image setup with python3-pip, python3-setuptools, and Charmcraft snap injection for provider environments.

Suggested action:

No scores available.

Issue body

- Add craft-providers dependency (version will be updated in future work) to project & snap. - Add CharmcraftBuilddBaseConfiguration which extends the buildd image configuration with the setup code to: - install python3-pip - install python3-setuptools (required explicitly for 18.04) - install the Charmcraft snap by injecting the host's, which should be OK as the snap is currently required. Future work could extend this to add a fallback to install from store using snap_installer.install_from_store(). Note that this injection is unconditional, future work will add a check to see if the injection is necessary prior to doing it (that is, don't inject if reusing an instance that has the correct version already). Signed-off-by: Chris Patterson <chris.patterson@canonical.com>

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged after approval and passing CI. Adds CharmcraftBuilddBaseConfiguration to extend buildd image setup with python3-pip, python3-setuptools, and Charmcraft snap injection for provider environments.
qwen3.6-35b-a3b-mtp-q6 Merged by cjp256. Introduces CharmcraftBuilddBaseConfiguration to extend build environments with Python dependencies and Charmcraft snap injection. Adds craft-providers dependency to project and snap.
qwen3.6-35b-a3b-mtp-q6 Merged by cjp256. Introduces CharmcraftBuilddBaseConfiguration to extend buildd image setup with python3-pip, python3-setuptools, and Charmcraft snap injection. Adds craft-providers dependency per CRAFT-261.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#892 (internal) Remove CharmcraftBuilddBaseConfiguration and use BuilddBase directly (CRAFT-1278, CRAFT-1356). charmcraft merged Removed CharmcraftBuilddBaseConfiguration in favor of direct BuilddBase usage. Merged after single reviewer approval, modifying six files and resolving CRAFT-1278 and CRAFT-1356.
72%
#411 build: pack charm in provided environment when using bases (CRAFT-313) charmcraft merged Merged implementation for packing charms in provided environments per bases configuration (CRAFT-313). Approved by two reviewers, modifying two files (+175/-30). Future work will add verbose and quiet mode flag support.
72%
#522 providers: add support to install Charmcraft snap from store (CRAFT-502) charmcraft merged Merged after approval and passing CI. Adds support to install the Charmcraft snap from the Snap Store instead of injecting the host snap. Channel selection is configurable via CHARMCRAFT_INSTALL_SNAP_CHANNEL. Includes Windows test updates.
71%
#1065 bases: support creating charms use CentOS 7 as base charmcraft merged Merged. Adds CentOS 7 base support for charm creation, resolving CRAFT-1697. Requires Ubuntu 18.04 for cgroup v1 and an unreleased craft-providers version. Changes span 10 files with 278 additions and 65 deletions.
70%
#3934 providers: deprecate SnapcraftBuilddBaseConfiguration snapcraft merged Merged. Deprecated SnapcraftBuilddBaseConfiguration, replacing it with BuilddBase from craft-providers. Compatibility tagging now uses the BuilddBase constructor. Approved by one reviewer and passed CI checks.
70%