Add multi-bases support for charm build plans
Metadata
Current evaluation
Multi-base charm build-plan support was merged in PR #81 (commit 519b705), with validation tightening and error-handling updates; it resolved #73.
Resolution: closed resolved
Reason: Merged PR canonical/craft-platforms#81 as commit 519b705. The PR added multi-base support for charm build plans and explicitly fixed #73.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
Polish the prototype in [work/CRAFT-3668/multibase-prototype](https://github.com/canonical/craft-platforms/tree/work/CRAFT-3668/multibase-prototype) to support multi-base builds as defined in [ST124](https://docs.google.com/document/d/1QVHxZumruKVZ3yJ2C74qWhvs-ye5I9S6avMBDHs2YcQ/edit?tab=t.0) for the charm build planner.
### Missing work
1. Unit tests
2. Changelog, tag and release
### Why it needs to get done
To support multi-base builds in charmcraft.
### Downstream work
- https://github.com/canonical/craft-application/issues/569
- https://github.com/canonical/charmcraft/issues/2008
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Multi-base charm build-plan support was merged in PR #81 (commit 519b705), with validation tightening and error-handling updates; it resolved #73. | |
| qwen/qwen3.6-35b-a3b | — | closed resolved | Fixed in craft-platforms#81 by merging multi-base support for charm build plans, including validation tightening and error handling updates. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/craft-platforms#81
(confidence 100%)
Merged resolving PR, committed as 519b705.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #81 feat: multi-base support for charm build plans | craft-platforms | merged | Merged PR #81 as commit 519b705, adding multi-base charm build-plan support and fixing #73, with stricter shorthand validation and CraftPlatformsError. | |
| #215 fix(charm): accept redundant multi-base charms | craft-platforms | merged | Merged PR #215 as commit 4879309, allowing redundant multi-base charms when they produce equivalent valid build plans and addressing canonical/charmcraft#2620. | |
| #383 commands/build: charm file name format support for bases (CRAFT-66) | charmcraft | merged | Merged PR #383 (commit 951f6aaa; merge 1c839909) added bases-aware charm filename formatting and tests, retaining the legacy runtime path pending default-bases configuration. | |
| #148 feat(charm): add a build planner for bases charms | craft-platforms | merged | Merged PR #148 added a Charm build planner for legacy charms using the bases key, addressing CHARMCRAFT-630 in commit 16ff218. | |
| #1789 Unable to build multi-base subordinate charms on 24.04 | charmcraft | closed | Multi-base builds were implemented with platforms-based recipes in merged PR #2054 (commit 1ad02d82), enabling one recipe to build charms for multiple Ubuntu bases. | |
| #569 Allow multi-base builds | craft-application | closed | Multi-base build plans were enabled by merged PR #598 (d81c39a7), explicitly fixing #569; PR #812 (c4bf6b4c) later added ProjectService compatibility for 5.5.0. | |
| #79 Unify charm build planner with default build planner | craft-platforms | open | Maintainer-authored refactor to consolidate the separate charm planner into the default planner. Implicit build-for parity now exists, but multi-base semantics still differ. | |
| #3 Implement a basic API that makes a build plan for charms | craft-platforms | closed | Charm build planning was implemented and merged in PR #148 (commit 16ff218), providing bases-charm build plans for Charmcraft and Launchpad. | |
| #861 No support for paralell builds for multi-base charms | charmcraft | open | Enhancement request (triaged) to let `charmcraft pack` build the bases/platforms of a multi-base charm in parallel; still unimplemented, scoped upstream to the whole craft ecosystem (CHARMCRAFT-655). | |
| #2008 Multi-base platform support | charmcraft | closed | Multi-base support shipped in charmcraft#2054 (commit 1ad02d82) via platforms-based recipes; the prototype was not separately polished, but the requested capability was implemented. |