← Back to issue list

fix: reorganise charmcraft.yaml preprocessing

View original Github issue

Metadata

Project
charmcraft
Number
#1622
Type
pull request
State
merged
Author
lengau
Labels
—
Created
Updated
Closed

Current evaluation

Merged in #1622 (commit 7ce4182e): extensions now run first, charms with bases get a default part, and parts must be a dictionary.

Resolution: closed resolved

Reason: PR #1622 was approved and merged as commit 7ce4182e, reordering charmcraft.yaml preprocessing, adding default parts for charms with bases, and enforcing dictionary-valued parts.

Evaluated by: mr-cal-bot

No scores available.

Issue body

This makes a few related changes: 1. Extensions are applied on the rawest charmcraft.yaml data we have 2. Charms with a "bases" key (not just bundles) get a default part. 3. Always expect a dictionary for parts.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged in #1622 (commit 7ce4182e): extensions now run first, charms with bases get a default part, and parts must be a dictionary.
stealth/space-bunny-alpha — closed resolved Merged #1622 (commit 7ce4182e), reworking charmcraft.yaml preprocessing to run extensions first, default parts for charms with bases, and require dictionary parts.
qwen/qwen3.6-35b-a3b — — Merged following two approvals and passing CI. Reorganized charmcraft.yaml preprocessing to apply extensions on raw data, assign default parts to charms with bases, and enforce dictionary type for parts. Modified 5 files (+27/-14 lines).
qwen3.6-35b-a3b-mtp-q6 — — Merged a fix reorganizing charmcraft.yaml preprocessing. Extensions now apply to raw data, charms with bases keys receive a default part, and parts are strictly enforced as dictionaries.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2452 docs: small tweaks to best practice blocks charmcraft merged Merged in charmcraft#2452 via commit 655519ae, reclassifying two “manage charms” examples as a tip and making charmcraft.yaml best practices clearer standalone.
74%
#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.
73%
#1248 feat(extensions): add basic support charmcraft merged Merged PR #1248 as 65726afc, adding basic extensions support and fixing #1238; extensions now run after base expansion during charmcraft.yaml unmarshalling.
71%
#1616 Default `charm` or `bundle` part is not added if `parts` is defined but empty in `charmcraft.yaml`. charmcraft closed Fixed by merged PR canonical/charmcraft#1815 (commit 2a0eb973), correcting default charm/bundle part handling in charmcraft.yaml.
71%
#186 Support charmcraft.yaml, parts, pull and build behaviours charmcraft closed Full lifecycle support for charmcraft.yaml, explicit parts, and pull/build behaviors landed in master; the Charmhub UUID idea was split into #216.
71%
#91 First pass at 'charmcraft init' charmcraft merged Merged PR #91 delivered the first non-interactive charmcraft init scaffolding implementation; README improvements, extra options, and prompts were deferred (commit 0ebd9f87).
70%