Packing a bundle produces a zip that is rejected by charmhub
Metadata
Current evaluation
Charmcraft 3.4.6 packs bundles with metadata.yaml instead of bundle.yaml, causing Charmhub rejection. Bundle features removed in Charmcraft 4.0; maintainer requested charmcraft.yaml with no response.
Suggested action: close stale
Reason: Bundle features were removed in Charmcraft 4.0 (PR #2320, confirmed in release notes), and maintainer @lengau requested the charmcraft.yaml on 2025-06-27 with no response from the author in over a year, leaving the issue unactionable.
Evaluated by: mr-cal-bot
Impact:
30
Quick Win:
4
Complexity:
60
Confidence:
70
Actionability:
30
Issue body
### Bug Description
I have a bundle I need to update.
After packing,
```
> unzip -l cos-lite.zip
Archive: cos-lite.zip
Length Date Time Name
--------- ---------- ----- ----
5740 2025-06-20 14:33 README.md
11358 2025-06-20 14:33 LICENSE
2275 2025-06-20 14:35 metadata.yaml
--------- -------
19373 3 files
```
the metadata.yaml file contains what I have in bundle.yaml, but upload fails:
```
> charmcraft upload ./cos-lite.zip
Upload failed with status 'rejected':
- review-error: Missing required file bundle.yaml in bundle
```
### To Reproduce
```bash
git clone https://github.com/canonical/cos-lite-bundle.git
cd cos-lite-bundle
tox -e render-edge
charmcraft pack
charmcraft upload ./cos-lite.zip
```
### Environment
charmcraft 3.4.6 6672
Ubuntu 24.04.2
### charmcraft.yaml
```yaml
Not applicable - it's a bundle.yaml rendered from
https://github.com/canonical/cos-lite-bundle/blob/main/bundle.yaml.j2
```
### Relevant log output
```shell
See above.
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| ~deepseek/deepseek-pro-latest |
Impact:
30
Quick Win:
4
Complexity:
60
Confidence:
70
Actionability:
30
|
close stale | Charmcraft 3.4.6 packs bundles with metadata.yaml instead of bundle.yaml, causing Charmhub rejection. Bundle features removed in Charmcraft 4.0; maintainer requested charmcraft.yaml with no response. | |
| qwen/qwen3.6-35b-a3b |
Impact:
70
Quick Win:
34
Complexity:
40
Confidence:
85
Actionability:
80
|
keep open | Charmcraft 3.x pack command produces bundle zips with metadata.yaml instead of bundle.yaml, causing Charmhub upload rejection. Regression from 2.x behavior. | |
| qwen/qwen3.8-27b |
Impact:
55
Quick Win:
30
Staleness:
72
Complexity:
45
Confidence:
60
Support Request:
15
|
keep open | charmcraft 3.x pack produces a bundle zip with metadata.yaml instead of bundle.yaml, so charmcraft upload is rejected by charmhub. A maintainer asked for the charmcraft.yaml on 2025-06-27; no further activity since. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
85
Complexity:
45
Confidence:
85
Support Request:
10
|
close stale | Reports a charmcraft pack regression where generated bundles lack bundle.yaml and are rejected by Charmhub. Maintainer requested charmcraft.yaml for diagnosis, but author hasn't responded in over a year. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
85
Complexity:
50
Confidence:
80
Support Request:
10
|
close stale | charmcraft pack v3.4.6 produces bundle zips missing bundle.yaml, failing Charmhub upload. Maintainer requested charmcraft.yaml for debugging, but no response has been received in over a year. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
85
Complexity:
50
Confidence:
75
Support Request:
10
|
needs triage | charmcraft pack generates a bundle zip with metadata.yaml instead of bundle.yaml, causing Charmhub upload rejection. Issue lacks labels and maintainer assessment after 10+ months of inactivity. |
Update history
No update history recorded yet.
Related work
-
Related To:
charmcraft#2320
(confidence 85%)
PR #2320 removed bundle features in Charmcraft 4.0, making this 3.x-specific issue obsolete for the current main branch.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #373 Multiple files for packing a bundle is confusing | charmcraft | closed | Proposal to fold bundle.yaml into charmcraft.yaml was declined: sergiusens (2021-09-06) called bundle.yaml a legacy concept slated for replacement by stacks, keeping charmcraft.yaml build-only. Bundles were later deprecated (#2227) and removed in Charmcraft 4.0 (#2320). | |
| #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. | |
| #2320 feat!(bundle): remove bundle features | charmcraft | merged | Merged as commit 2cb4db71: bundle pack/commands removed from Charmcraft 4.0; `type: bundle` now errors pointing users to Charmcraft 3. Closes #1858 (CRAFT-3990/CHARMCRAFT-623). | |
| #821 5.5.0 changes pack semantics if the project file has different metadata | craft-application | open | Metadata-only charmcraft.yaml edits were skipped as "Already packed," leaving stale .charm artifacts; Charmcraft PR #2890 is reported to fix repacking after the edit. | |
| #2114 Mark the bundle plugin as deprecated | charmcraft | closed | Bundle plugin deprecation shipped in merged PR #2227 (commit 8b2a2bb2). Packing remained supported in Charmcraft 3, then bundle features were removed for Charmcraft 4.0 by PR #2320. | |
| #2227 feat: mark bundles as deprecated | charmcraft | merged | Merged as 8b2a2bb2: bundles are now marked deprecated for removal in Charmcraft 4; Charmcraft 3 remains available for packing bundles (CRAFT-4006). Lint fallout fixed in #2229. | |
| #2192 Schema doesn't offer the bundle type | charmcraft | closed | Closed as not planned by lengau: bundles were being removed from Charmcraft, so adding a "bundle" value to the charmcraft.yaml schema was pointless. Bundle support was then dropped entirely in PR #2320 (2cb4db71) for 4.0. |