providers: introduce charmcraft base configuration (CRAFT-261)
Metadata
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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. |