← 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

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.

Suggested action:

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
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.
qwen3.6-35b-a3b-mtp-q6 Implemented charmcraft.yaml lifecycle support with parts, pull, and build behaviors in master. The charm UUID feature was separated into issue #216.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1149 command: charmcraft init to use charmcraft.yaml only charmcraft merged Merged after review. Updated charmcraft init to use a unified charmcraft.yaml by default, replacing separate metadata, actions, and config files. Added profile descriptions and updated URLs. Initially blocked but eventually merged.
72%
#36 'charmcraft build' should pull in actions.yaml and config.yaml charmcraft merged Merged after two reviewer approvals. The pull request implements automatic inclusion of actions.yaml and config.yaml during charmcraft builds, adding 80 lines across two files. Changes were successfully integrated.
72%
#46 New functionality from charmcraft (CRAFT-706). craft-cli merged Merged new charmcraft functionality (CRAFT-706) following approval from two reviewers. The update adds approximately 2000 lines across 13 files, successfully integrating the feature set into the codebase.
71%
#31 feat: charmcraft actions craft-actions merged Merged changes adding two GitHub Actions: charmcraft/setup installs Charmcraft and LXD, while charmcraft/pack builds charms. Approved by two reviewers with passing CI checks, the update adds 299 lines across six files to streamline workflows.
70%
#249 `charmcraft build` will let you build a charm that won't deploy charmcraft closed Closed and superseded by issue #27. The charmcraft build validation gap was consolidated into a tracking issue for implementing build-time sanity checks on config.yaml and actions.yaml.
70%