← Back to issue list

charm artifacts from reactive plugin are missing valuable build metadata

View original Github issue

Metadata

Project
charmcraft
Number
#872
Type
issue
State
open
Author
addyess
Labels
Status: Triaged Type: Bug
Created
Updated
Closed
—

Current evaluation

Reactive charm artifacts omit .build.manifest and charmtool-version; an exact fix is proposed in open PR charmcraft#2502 and remains under review.

Suggested action: keep open

Reason: The bug is confirmed: the reporter verified that .build.manifest exists in /parts/charm/build/<charm> after BUILD, while the artifact lacks it. PR charmcraft#2502 explicitly addresses both metadata omissions but is still open with unresolved review comments, so the issue is not yet resolved.

Evaluated by: mr-cal-bot

Impact: 48 Quick Win: 24 Complexity: 45 Confidence: 96 Actionability: 92

Issue body

when a reactive charm is built with `charm build .` the resulting artifact has a file in the top level with the title `.build.manifest` This file is generated by the `charm` snap and lists the commit hash for each charm layer, installed pip from the wheelhouse 1) It seems when i build a reactive charm using the charmcraft reactive plugin, this file is missing from the `.charm` artifact. 2) it would also be REALLY nice if the `manifest.yaml` generated would also list the `charmtool-version` used to build the charm. the plugin can determine this version by running `/snap/bin/charm version --format json` and extracting the output

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 48
Quick Win: 24
Complexity: 45
Confidence: 96
Actionability: 92
keep open Reactive charm artifacts omit .build.manifest and charmtool-version; an exact fix is proposed in open PR charmcraft#2502 and remains under review.
~deepseek/deepseek-pro-latest
Impact: 50
Quick Win: 19
Complexity: 55
Confidence: 90
Actionability: 85
keep open Reactive plugin omits .build.manifest and charmtool-version from charm artifacts; triaged, open PR #2502 addresses both.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 11
Complexity: 40
Confidence: 60
Actionability: 60
keep open Reactive plugin fails to include .build.manifest and charmtool-version in charm artifacts. Issue is triaged, has internal Jira ticket, and remains open after 4 years.
qwen/qwen3.8-27b
Impact: 40
Quick Win: 24
Staleness: 45
Complexity: 40
Confidence: 70
Support Request: 10
keep open Reactive charms built via charmcraft's reactive plugin lack the .build.manifest file that charm-tools generates, and manifest.yaml omits charm-tools version. Triaged (Status: Triaged, Type: Bug); internal ticket CHARMCRAFT-654 created 2025-09-17; no code change yet.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 25
Confidence: 85
Support Request: 5
keep open Reactive charm plugin omits .build.manifest from .charm artifacts and lacks charmtool-version metadata. Issue is triaged as a bug but has been inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 20
Confidence: 85
Support Request: 10
keep open Reactive charm plugin omits .build.manifest and charmtool-version from artifacts. Triaged bug awaiting implementation after contributor identified file location during build.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 45
Confidence: 70
Support Request: 10
keep open Reactive charm plugin omits .build.manifest from output artifacts and lacks charmtool version metadata. Triaged as a bug, awaiting implementation.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: charmcraft#2502 (confidence 99%)

    Open PR adds .build.manifest preservation and charmtool_version to manifest.yaml for reactive charm artifacts.

Related issues

Issue Project State Summary Similarity
#2502 fix: add missing build metadata in reactive charm artifacts charmcraft open Adds .build.manifest preservation and charmtool_version to manifest.yaml for reactive charms. Under active review with 4 unresolved comments; most CI checks pending.
83%
#693 Charms packed using the reactive plugin shows dirty version charmcraft closed Fixed in merged PR #777 (CRAFT-928): reactive packing now leaves charmcraft.yaml in place, preventing charm build from adding a -dirty version.
73%
#420 Missing Charmcraft artifact in Charm Build fetch-service closed Fixed by merged PR #465 (commit 1309dc6), preventing rejected go-module-git inspection from overwriting approved Charmcraft artifact metadata.
71%
#1816 Reactive charm built with charmcraft 3.x is missing options from the included layers and is broken charmcraft open Reactive layer options were lost because Charmcraft 3.x overwrote charm-tools' config.yaml; commit aa28f0dc and PR #2245 now preserve the generated configuration.
70%
#610 many: add reactive charm plugin charmcraft closed PR #610 (charm-tools-based reactive plugin) was closed unmerged on 2021-12-14 by sergiusens in favor of #613, which reimplemented the plugin on the charm tool (CRAFT-699) and merged as 32c8650a.
70%
#777 Do not modify the charm's project when packing using the reactive plugin (CRAFT-928). charmcraft merged Merged PR #777 (CRAFT-928) via commit bac1d03b, preventing reactive packing from modifying the charm project and fixing #693's incorrect dirty versions.
70%