Support charmcraft.yaml, parts, pull and build behaviours
Metadata
Current evaluation
Full lifecycle support for charmcraft.yaml, explicit parts, and pull/build behaviors landed in master; the Charmhub UUID idea was split into #216.
Resolution: closed resolved
Reason: Maintainer facundobatista confirmed on 2021-08-03 that the requested lifecycle functionality was already in master. The separate Charmhub UUID proposal was moved to #216.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Just a thought.
If some charms, even with the Python operator framework, are going to want to build code which they include in the charm, then we should reuse the snapcraft.yaml syntax to specify parts to be built. I'm not sure if we want to reuse stage and prime for subsetting the built output, but it might make sense.
In that world, the Python elements seem like an 'implicit part' right now.
A `charmcraft.yaml` would also provide a place to put the charmhub UUID for the charm, which would smooth over name changes, unless that will already be in metadata.yaml
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Full lifecycle support for charmcraft.yaml, explicit parts, and pull/build behaviors landed in master; the Charmhub UUID idea was split into #216. | |
| stealth/space-bunny-alpha | — | closed resolved | Full lifecycle support for charmcraft.yaml, explicit parts, and pull/build behaviours was implemented in master; Charmhub UUID support was split into #216. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Implemented full lifecycle support for charmcraft, including charmcraft.yaml, parts, pull, and build behaviors. Merged into master. The charmhub UUID proposal was split into issue #216. | |
| qwen/qwen3.6-35b-a3b | — | — | Implemented in master. The charmcraft lifecycle, including charmcraft.yaml with parts, pull, and build behaviors, was added to align with snapcraft. The charmhub UUID feature was split into issue #216. | |
| qwen/qwen3.6-35b-a3b | — | — | Implemented in master. Adds charmcraft.yaml support with parts, pull, and build behaviors to align with snapcraft's lifecycle. Charm UUID handling was addressed separately in PR #216. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Adopted as the main tracking issue for implementing snapcraft lifecycle in charmcraft. The charmcraft.yaml support with parts, pull, and build behaviors was implemented and merged into master. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/charmcraft#216
(confidence 100%)
Separate issue created for configuring and uploading charms by Charmhub UUID; it was later closed as unnecessary.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #458 build: integrate craft-parts lifecycle (CRAFT-89, CRAFT-367, CRAFT-357) | charmcraft | merged | Merged PR #458 via 9dc20872 (implementation 437dab55), adding a craft-parts lifecycle and charm build plugin to run the charm builder. | |
| #1149 command: charmcraft init to use charmcraft.yaml only | charmcraft | merged | Merged in ca4df024: charmcraft init now generates a unified charmcraft.yaml containing metadata, actions, and config, with profile descriptions and an updated URL. | |
| #1622 fix: reorganise charmcraft.yaml preprocessing | charmcraft | merged | Merged in #1622 (commit 7ce4182e): extensions now run first, charms with bases get a default part, and parts must be a dictionary. | |
| #31 feat: charmcraft actions | craft-actions | merged | Merged in commit 91513c1, adding charmcraft/setup to install Charmcraft and LXD and charmcraft/pack to run setup and package charms. | |
| #249 `charmcraft build` will let you build a charm that won't deploy | charmcraft | closed | Closed by facundobatista as a duplicate, tracking all build-time sanity checks (incl. config.yaml/actions.yaml validity) in the umbrella issue charmcraft#27; later implemented by merged PR #556 (a585aec6). |