`charmcraft build` will let you build a charm that won't deploy
Metadata
Current evaluation
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.
Suggested action: —
No scores available.
Issue body
As an example, if you modify the config.yaml of any charm to have a type of `integer` (as opposed to `int`) and then run charmcraft build it works fine and returns a 0 exit code. However, trying to deploy it will give (if the config item you edited was smtp_port):
```
ERROR invalid config: option "smtp_port" has unknown type "integer"
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen3.6-35b-a3b-mtp-q6 | — | — | 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. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed and superseded by issue #27. Build-time sanity checks, including config.yaml validation, are now tracked centrally to prevent building charms with invalid configurations. | |
| qwen/qwen3.6-35b-a3b | — | — | Superseded and closed. Build-time validation for config.yaml and actions.yaml will be tracked in issue #27 alongside other sanity checks. No direct fix applied. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed and superseded by issue #27. Build-time validation for config.yaml types will be consolidated into that tracking issue alongside other sanity checks to prevent deploying invalid charms. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed and superseded by issue #27. Build-time validation for config.yaml and actions.yaml will be tracked there as part of broader sanity checks. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #287 `charmcraft build` failing if charm has manifest.yaml | charmcraft | closed | charmcraft build crashed when a pre-existing manifest.yaml conflicted with machine-generated builds introduced in PR #281. Fixed in master by validating manifest.yaml and using clean build directories to prevent conflicts and crashes. | |
| #680 The charmcraft.yaml is not longer optional for build command (CRAFT-784). | charmcraft | merged | 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. | |
| #238 `charmcraft init` creates broken charm | charmcraft | closed | Superseded by PR #247, which overhauls charmcraft init and its tests to prevent broken charm generation from commented-out actions. The new implementation resolves the template and test failures. | |
| #1845 Building multiple charms simultaneously can cause caching errors | charmcraft | closed | Closed. Charmcraft will detect parallel builds and disable caching with a warning to prevent race conditions and zipfile errors during simultaneous charm builds. | |
| #720 `charmcraft --help` still mentions `build` that is deprecated | charmcraft | closed | Fixed and closed. The deprecated build command reference was removed from the charmcraft help output. The author confirmed the resolution with a thank you comment. | |
| #186 Support charmcraft.yaml, parts, pull and build behaviours | charmcraft | closed | 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. |