← Back to issue list

`charmcraft build` will let you build a charm that won't deploy

View original Github issue

Metadata

Project
charmcraft
Number
#249
Type
issue
State
closed
Author
mthaddon
Labels
—
Created
Updated
Closed

Current evaluation

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).

Resolution: closed superseded

Reason: facundobatista closed the report on 2021-02-24 with "I'm closing this to track everything in the original issue", adding a config.yaml/actions.yaml validation item to charmcraft#27. That umbrella work was later completed, with PR #556 (merge commit a585aec6) adding actions.yaml and config.yaml linters.

Evaluated by: mr-cal-bot

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
stealth/space-bunny-alpha — closed superseded 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).
stealth/space-bunny-alpha — closed superseded Closed in favor of canonical/charmcraft#27, which consolidated build-time validation work, including checks for config.yaml and actions.yaml.
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.

Update history

No update history recorded yet.

Related work

  • Duplicate Of: canonical/charmcraft#27 (confidence 98%)

    Umbrella issue 'The build process should error out if the package has intrinsic problems', now closed as done.

  • Likely Fixed By: canonical/charmcraft#556 (confidence 85%)

    Merged PR adding linters to verify actions.yaml and config.yaml (CRAFT-554), the concrete outcome of the tracked validation work.

Related issues

Issue Project State Summary Similarity
#287 `charmcraft build` failing if charm has manifest.yaml charmcraft closed Builds stopped crashing on an existing manifest.yaml after Charmcraft added manifest validation and switched charm builds to clean directories.
76%
#452 build: create charm builder tool (CRAFT-373) charmcraft closed Superseded by merged charmcraft#453, which moved charm-building logic to a standalone CharmBuilder; the venv and pip optimizations were deferred.
74%
#36 'charmcraft build' should pull in actions.yaml and config.yaml charmcraft merged Merged PR #36 as commit a8cdb744, making charmcraft build automatically include actions.yaml and config.yaml in charm builds.
74%
#238 `charmcraft init` creates broken charm charmcraft closed Superseded by charmcraft#247, a planned overhaul of init templates and generated tests; #247 later closed without implementing its proposed guard against building incomplete templates.
74%
#35 charmcraft doesn't support actions charmcraft closed Reported that charmcraft builds omitted actions.yaml, so charms with actions failed on install with 'CharmEvents' has no attribute. Fixed by merged PR #36 (commit a8cdb744), which makes 'charmcraft build' copy actions.yaml and config.yaml into the charm.
71%
#514 `charmcraft build` silently omits files called out in `charmcraft.yaml` if executed from an external directory charmcraft closed Fixed by merged PR canonical/charmcraft#525 (merge commit 0d78f540), which runs the parts lifecycle from the project directory so relative globbed paths resolve during external builds.
71%
#1791 Charmcraft 3 including previously-built charms in new charm builds charmcraft closed Fixed in PR #1793 (commit affc209b): subsequent charmcraft pack runs no longer include previously built .charm artifacts in the new charm.
71%
#720 `charmcraft --help` still mentions `build` that is deprecated charmcraft closed Fixed in canonical/charmcraft#739 (commit 1a461c39): removed deprecated build from top-level help and promoted pack as the standard build command.
71%
#2233 charmcraft should complain if the charm contains a bundle charmcraft open Feature request: charmcraft pack should error/warn when the produced charm contains a bundle.yaml, since juju deploy then deploys the bundle instead of the charm. Clear repro, but no maintainer triage or labels.
71%
#439 [docs] how to run charmcraft as part of a CI? charmcraft closed Closed as addressed: canonical/craft-actions#31 (commit 91513c1) added Charmcraft setup and pack actions, and a maintainer confirmed CI packing and publishing were now supported.
71%