← Back to issue list

Make it easier to release charms in CI and in general

View original Github issue

Metadata

Project
charmcraft
Number
#1313
Type
issue
State
open
Author
sed-i
Labels
Created
Updated
Closed

Current evaluation

Feature request to upload and release a charm plus its OCI resources in one command without tracking integer revision IDs. Skopeo integration landed, but upload --resource still requires name:revision format. Maintainers acknowledge it remains applicable and UX is being considered across crafts.

Suggested action: keep open

Reason: Maintainer @carlcsaposs-canonical (2025-09-23) explicitly confirmed 'I think this is still applicable' and @lengau (2025-10-08) noted the UX needs cross-craft coordination with snapcraft, indicating active triage and buy-in. Code inspection confirms upload --resource still requires <name>:<revision> integer format (ResourceOption in utils/cli.py), so the core request remains unimplemented despite skopeo integration.

Impact: 55 Quick Win: 16.5 Staleness: 25 Complexity: 70 Confidence: 75 Support Request: 0

Issue body

### What needs to get done I would like to be able to upload + release both charm and resources in one command, without having to deal with charm revisions and resource revisions directly. For example: ``` charmcraft upload grafana-k8s_ubuntu-20.04-amd64.charm \ --resource grafana-image=ubuntu/grafana:9.2-22.04_beta \ --resource litestream-image=docker.io/litestream/litestream:0.4.0-beta.2 \ --release edge ``` Specifically: - The user doesn't need to deal with `skopeo` or local image registry themselves. - The user doesn't need to keep track of integer ids for charm/resource between multiple commands to release a charm. ### Why it needs to get done - Currently we're relying on a github action with >20kLOC which is difficult to maintain. - The know-how of releasing a charm is buried deep below piles of github yaml and js.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 55
Quick Win: 16.5
Staleness: 25
Complexity: 70
Confidence: 75
Support Request: 0
keep open Feature request to upload and release a charm plus its OCI resources in one command without tracking integer revision IDs. Skopeo integration landed, but upload --resource still requires name:revision format. Maintainers acknowledge it remains applicable and UX is being considered across crafts.
qwen/qwen3.6-35b-a3b
Staleness: 65
Complexity: 55
Confidence: 75
Support Request: 5
keep open Feature request to simplify charm and resource release in CI via a single command, avoiding manual revision tracking. Currently under discussion after maintainer initially marked it superseded, but author clarified it remains needed.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 75
Confidence: 70
Support Request: 5
keep open Feature request for a single command to upload and release charms with OCI resources, avoiding manual revision tracking. Currently under discussion with maintainers planning cross-tool UX, but inactive for ~9 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 50
Complexity: 65
Confidence: 85
Support Request: 10
keep open Feature request for a single charmcraft command to upload and release charms with OCI resources without manual revision tracking. Open, under maintainer discussion, awaiting UX design across multiple crafts.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 40
Confidence: 85
Support Request: 10
keep open Request for a single charmcraft command to upload and release charms with OCI resources, eliminating manual revision tracking. Maintainers acknowledge the need but note UX design is pending, especially for cross-craft resources. Under discussion.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/charmcraft#1979 (confidence 70%)

    Related feature request for --release flag on upload; the --release part is implemented but auto-uploading resources from upstream-image remains unimplemented, overlapping with this issue's goal of a single-command release workflow.

Related issues

Issue Project State Summary Similarity
#457 Allow including resources when releasing charms directly in the upload command (CRAFT-381). charmcraft merged Merged. Enables including resources when releasing charms via the upload command, fixing issue #456 and CRAFT-381. Approved by two reviewers with 63 additions across three files. Maintainers prioritized CI workflow improvements.
73%
#1979 `charmcraft upload` should allow a user to also release the charm charmcraft open Feature request to add --release flag to charmcraft upload command. The --release flag is already implemented (PR #255), but auto-uploading resources from upstream-image field in charmcraft.yaml remains unimplemented. Last activity Feb 2025.
72%
#847 Improve the 'release' response when resources are automatically released with the charm charmcraft open Request to enhance the 'charmcraft release' command output to list resources that Charmhub automatically attaches when a revision is released without explicit --resource flags. Store-side fix was released in 2022, but the client-side message enhancement remains unimplemented.
71%