← Back to issue list

Support charmcraft.yaml, parts, pull and build behaviours

View original Github issue

Metadata

Project
charmcraft
Number
#186
Type
issue
State
closed
Author
markshuttle
Labels
—
Created
Updated
Closed

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.
71%
#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.
71%
#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.
71%
#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.
70%
#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).
70%