← Back to issue list

Allow multi-base builds

View original Github issue

Metadata

Project
craft-application
Number
#569
Type
issue
State
closed
Author
mr-cal
Labels
—
Created
Updated
Closed

Current evaluation

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.

Resolution: closed resolved

Reason: PR #598 merged as d81c39a7 and explicitly identifies #569 as fixed by allowing bases in platform entries, enabling applications to implement multi-base build plans. The remaining ProjectService compatibility work was merged in PR #812 as c4bf6b4c and shipped in 5.5.0.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done > :warning: Craft-application needs to allow applications to implement multi-base builds but doesn't change the default build planner. Polish the prototype in [work/CRAFT-3668/multibase-prototype](https://github.com/canonical/craft-application/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). ### Missing work 1. Add `get_base()`, `get_build_on_architecture()` and `get_build_for_architecture()` to the `ProjectService`. - Application-defined services should use these instead of `self._project.base` and `self._build_plan[0]`. 2. Unit tests 3. Changelog, tag and release ### Why it needs to get done To support multi-base builds in charmcraft. ### Upstream work - https://github.com/canonical/craft-platforms/issues/73 ### Downstream work - https://github.com/canonical/charmcraft/issues/2008

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved 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.
stealth/space-bunny-alpha — closed resolved Multi-base build-plan support was merged in canonical/craft-application#598 (d81c39a7) and released in 4.7.0; #812 (c4bf6b4c) later completed ProjectService compatibility.
stealth/space-bunny-alpha — closed resolved Multi-base build plans were enabled by merged PR #598 (d81c39a7); merged PR #812 (c4bf6b4c) later made ProjectService multi-base compatible.
qwen/qwen3.6-35b-a3b — — Closed without implementation. Work moved to Jira (CRAFT-3719). Prototype unpolished; required ProjectService methods, tests, and release steps abandoned.
qwen/qwen3.6-35b-a3b — — Closed as abandoned. Required ProjectService methods, unit tests, and release steps were never completed. No merge or fix occurred.
qwen/qwen3.6-35b-a3b — — Closed and abandoned without implementation. No pull requests were merged or fixes applied, leaving the multi-base build support unaddressed after over a year of inactivity.

Update history

No update history recorded yet.

Related work

Related issues

Issue Project State Summary Similarity
#2009 Document multi-base support and build-plans charmcraft closed Multi-base and build-plan documentation was added in PR #2080 (commit 142fa827), then refined by PR #2104 (47f94098).
77%
#453 Spec a multi-base strategy craft-application closed Multi-base support was specified in ST124; PR #598 (d81c39a7) added multi-base build plans and shipped in craft-application 4.7.0.
76%
#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).
75%
#812 feat(ProjectService): make the ProjectService compatible with multi-base craft-application merged Merged in canonical/craft-application#812 as commit c4bf6b4c, adding opt-in multi-base support and errors for unsupported apps; shipped in 5.5.0.
75%
#73 Add multi-bases support for charm build plans craft-platforms closed Multi-base charm build-plan support was merged in PR #81 (commit 519b705), with validation tightening and error-handling updates; it resolved #73.
74%
#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.
71%