The charmcraft.yaml is not longer optional for build command (CRAFT-784).
Metadata
Current evaluation
Merged. The type key in charmcraft.yaml is now mandatory for the build command. Config schema validation enforces this during unmarshalling, with a default fallback for empty configs. Approved by two reviewers and passed CI.
Suggested action: —
No scores available.
Issue body
A side effect of consolidating the config file is that the `type` key is no longer optional. The config schema reflects that now, so everything is normally enforced during unmarshalling, even if I had to set a default value when loading an "empty config".
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. The type key in charmcraft.yaml is now mandatory for the build command. Config schema validation enforces this during unmarshalling, with a default fallback for empty configs. Approved by two reviewers and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged PR making the type key mandatory in charmcraft.yaml for the build command. Schema updates enforce type validation during unmarshalling, with a default value applied to empty configs. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged PR makes the type key in charmcraft.yaml mandatory for the build command. The config schema now enforces this field during unmarshalling, applying a default value for empty configs to align with the consolidated configuration structure. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #420 Missing Charmcraft artifact in Charm Build | fetch-service | closed | Fixed in PR #465. The go-module-git inspector overrode the charmcraft inspector, suppressing the charmcraft artifact. Support for .yml extensions was explicitly rejected. | |
| #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. | |
| #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. | |
| #471 config: add charm part to documentation (CRAFT-356) | charmcraft | merged | Merged changes adding charm configuration documentation to the configuration schema. Approved by two reviewers with zero unresolved comments. Updated two files with 15 additions and one deletion. Resolves CRAFT-356. | |
| #2183 feat: auto-generate charmcraft.yaml json schema | charmcraft | merged | Merged. Introduces automated JSON schema generation for charmcraft.yaml, a CI workflow to detect schema changes, and a Makefile recipe for regeneration. Full editor support depends on a separate SchemaStore repository merge. |