build/pack: add support for bases in managed mode (CRAFT-131)
Metadata
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. | |
| #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. | |
| #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). | |
| #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. |