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

Suggested action: keep open

Reason: The issue is labelled Status: Triaged and Type: Bug, and a Jira ticket (CHARMCRAFT-654) was created on 2025-09-17, showing active internal tracking. The reactive plugin still invokes `charm build` via subprocess (charmcraft/parts/plugins/_reactive.py) and the Manifest model (charmcraft/models/manifest.py) has no charm-tools version field, so neither part of the request is implemented. It is a real bug/feature gap, not a support question, and should remain open.

Impact: 40 Quick Win: 24.0 Staleness: 45 Complexity: 40 Confidence: 70 Support Request: 10

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
qwen/qwen3.8-27b
Impact: 40
Quick Win: 24.0
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.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 40
Confidence: 75
Support Request: 10
close stale Reactive plugin omits .build.manifest from charm artifacts and excludes charmtool version. Triaged. Internal Jira ticket CHARMCRAFT-654 created. Last activity 194 days ago.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2502 Fix missing build metadata in reactive charm artifacts charmcraft open Adds .build.manifest preservation and charmtool_version to manifest.yaml for reactive charm builds. Fixes #872. Inactive 263 days, 0 reviewer approvals, several CI checks failing (snap-tests, Conventional Commits policy).
77%
#693 Charms packed using the reactive plugin shows dirty version charmcraft closed Fixed by modifying the reactive plugin to stop removing charmcraft.yaml before building. This prevented git describe from incorrectly marking packed charm versions as dirty.
75%
#1816 Reactive charm built with charmcraft 3.x is missing options from the included layers and is broken charmcraft open Reactive charms built with charmcraft 3.x lose config.yaml options from included layers; 2.x works. Maintainer acknowledged and plans a rewrite of the reactive build logic; reporter confirmed still broken on 3.4.3 and is willing to wait.
73%
#2194 Builds of charm using reactive plugin produces different config option charmcraft closed Closed without resolution. Maintainers acknowledged the charmcraft 3 reactive plugin incorrectly strips deprecated config options, but no fix was implemented.
72%
#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.
71%