← Back to issue list

build/pack: add support for bases in managed mode (CRAFT-131)

View original Github issue

Metadata

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

Current evaluation

Merged #390 via eac93bba (implementation d080cf67), adding managed-mode bases support to build/pack, host/base matching diagnostics, validation, and list-based build results.

Resolution: closed resolved

Reason: PR #390 was approved and merged through eac93bba, with implementation commit d080cf67. It added managed-mode bases handling, buildability validation, matching diagnostics, and multi-artifact build results.

Evaluated by: mr-cal-bot

No scores available.

Issue body

- Intoduce bases module with `get_host_as_base()` and `check_if_base_matches_host()`. - Extend build/pack to support `bases` configuration if present and managed-mode is enabled. Error if unable to build for any of the configured bases. Warn for each bases config that cannot be built for. Provide additional debug logging on matching behavior to help diagnose matching issues when they occur. - Update run() to return a list of charms built rather than just the charm file name. Note bases are currently required with the use of managed mode until we introduce the default bases configuration. Signed-off-by: Chris Patterson <chris.patterson@canonical.com>

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged #390 via eac93bba (implementation d080cf67), adding managed-mode bases support to build/pack, host/base matching diagnostics, validation, and list-based build results.
stealth/space-bunny-alpha — closed resolved Merged PR #390 via d080cf67 (merge eac93bba), adding managed-mode bases support to build/pack, configuration validation, matching diagnostics, and list-based run() results.
qwen/qwen3.6-35b-a3b — — Merged changes adding bases support for managed mode in build/pack. Introduces a bases module, extends configuration validation with warnings, and updates run() to return built charms. Approved by two reviewers and merged.
qwen3.6-35b-a3b-mtp-q6 — — Merged implementation adding a bases module and extending build/pack to support bases configuration in managed mode. The run function now returns a list of built charms. Bases are required in managed mode until default configurations are introduced.

Update history

No update history recorded yet.

Related work

  • Related To: charmcraft#414 (confidence 88%)

    Follow-up PR added default bases configuration, addressing the temporary requirement noted in #390.

Related issues

Issue Project State Summary Similarity
#411 build: pack charm in provided environment when using bases (CRAFT-313) charmcraft merged Merged PR #411 (CRAFT-313) to pack each viable bases configuration in its provided build environment; merge commit 523c6fb0.
79%
#392 pack: introduce support for --bases-index to specify targets (CRAFT-148) charmcraft merged Merged PR #392 as 6e58852f, adding pack --bases-index target selection passed through pack.run(), with runtime validation.
75%
#598 feat: allow for multi-base builds craft-application merged Merged as d81c39a7; allowed bases in platform entries so applications can implement multi-base build plans, fixing #569 (CRAFT-3719).
72%
#341 config: add short-form bases support (CRAFT-11) charmcraft merged Merged #341, adding short-form base support so a base string expands to matching build-on and run-on entries.
70%