← Back to issue list

Please add revisions of `stage-snaps` to `manifest.yaml`

View original Github issue

Metadata

Project
snapcraft
Number
#5214
Type
issue
State
open
Author
jhenstridge
Labels
Type: Enhancement
Created
Updated
Closed

Current evaluation

Enhancement to annotate manifest.yaml with stage-snaps revisions (like stage-packages already does). Acknowledged by maintainer as valid but non-trivial, requiring craft-parts changes. No implementation yet; last activity ~16 months ago.

Suggested action: keep open

Reason: Maintainer @mr-cal explicitly endorsed the idea ('I think this is a great idea') and outlined the required work (craft-parts pull-step revision capture + new API), confirming it is a valid, scoped enhancement. It carries the Type: Enhancement label and has no reason to be closed — it is simply unimplemented and blocked on cross-project (craft-parts) changes.

Impact: 40 Quick Win: 16.0 Staleness: 65 Complexity: 60 Confidence: 75 Support Request: 10

Issue body

### What needs to get done At present if a snap uses `stage-packages`, the generated `manifest.yaml` file will be annotated with the versions of those packages used to build the snap. If a snap uses `stage-snaps`, no such annotation is added: while we can tell what channel was used, we don't know what revision that corresponded to at the time the snap was built. Maybe something like the `stage-packages` syntax would be appropriate. Something like this? ```yaml stage-snaps: - gnome-46-2404-sdk/latest/candidate=66 ``` ### Why it needs to get done This idea came up while trying to track down a bug where I had a known working revision of a snap and a known bad one. My usual way of analysing these kinds of problems is to check the `manifest.yaml` file for each snap revision to find their Launchpad builds andthe corresponding git revisions. I can then inspect the changes between those revisions for possible causes of the bug. In this case though, the snap used `stage-snaps`. It was obvious that the two snaps had been built with different revisions of the staged snap, but I had no way of telling what revisions they might be. The two manifests just told me they'd been built with the `latest/candidate` channel of the snap, which had changed between the two snap builds. If the manifest contained the revision of the stage snap, I would have been able to drill down to look at what had changed in that snap.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 40
Quick Win: 16.0
Staleness: 65
Complexity: 60
Confidence: 75
Support Request: 10
keep open Enhancement to annotate manifest.yaml with stage-snaps revisions (like stage-packages already does). Acknowledged by maintainer as valid but non-trivial, requiring craft-parts changes. No implementation yet; last activity ~16 months ago.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 75
Confidence: 80
Support Request: 10
needs triage Enhancement request to track stage-snaps revisions in manifest.yaml for debugging. Open for over a year with maintainer discussion on implementation complexity involving craft-parts.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 60
Confidence: 85
Support Request: 10
keep open Enhancement request to track stage-snaps revisions in manifest.yaml for debugging purposes. Technical implementation path outlined by maintainers, awaiting assignment or further review.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 65
Confidence: 80
Support Request: 5
keep open Enhancement to record stage-snaps revisions in manifest.yaml for accurate debugging. Currently only channels are tracked. Requires craft-parts to capture revisions during the pull step and expose an API to snapcraft. Under discussion with implementation details outlined; awaiting development.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.