← Back to issue list

Support pinning of snap revisions for build-snaps and stage-snaps

View original Github issue

Metadata

Project
rockcraft
Number
#350
Type
issue
State
open
Author
shayancanonical
Labels
—
Created
Updated
Closed
—

Current evaluation

Unresolved feature request to pin exact Snap Store revisions in build-snaps and stage-snaps for reproducible ROCK builds; current syntax accepts only a snap name and channel.

Suggested action: keep open

Reason: The need is clear and reproducible: a channel can move from version 8.0.33 to 8.0.34, while the binaries are staged into the ROCK. Two maintainers explicitly said revision pinning would be useful, and current craft-parts parsing still models values as name and channel rather than a revision.

Evaluated by: mr-cal-bot

Impact: 72 Quick Win: 23 Complexity: 58 Confidence: 89 Actionability: 76

Issue body

### What needs to get done We are currently able to specify a channel for `build-snaps` or `stage-snaps` as follows: ``` parts: charmed-mysql: stage-snaps: - 8.0/edge ``` However, we are unable to specify a specific revision of a snap with the above syntax ### Why it needs to get done We have snaps in the Data Platform team that track a major version of a database (e.g. `charmed-mysql/8.0`). However, the `edge` risk of the channel can be either `8.0.33` or `8.0.34` based on the snap build date Since we are using `stage-snaps` to install the binaries of the snap into our ROCK, we need a way to specify a particular revision of the snap to install from in our rockcraft.yaml file.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 72
Quick Win: 23
Complexity: 58
Confidence: 89
Actionability: 76
keep open Unresolved feature request to pin exact Snap Store revisions in build-snaps and stage-snaps for reproducible ROCK builds; current syntax accepts only a snap name and channel.
qwen/qwen3.6-35b-a3b
Impact: 65
Quick Win: 19
Complexity: 55
Confidence: 80
Actionability: 65
keep open Feature request to support pinning specific snap revisions for build-snaps and stage-snaps in rockcraft.yaml, currently only channel-based specification is supported.
qwen/qwen3.8-27b
Impact: 50
Quick Win: 22
Staleness: 45
Complexity: 55
Confidence: 75
Support Request: 10
needs triage Feature request to allow pinning a specific snap revision in build-snaps/stage-snaps (currently only channels like 8.0/edge are supported). Unimplemented in rockcraft/craft-parts; no maintainer triage, but recent user comments show continued demand.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 55
Confidence: 70
Support Request: 10
needs triage Request to add revision pinning for build-snaps and stage-snaps to ensure reproducible builds. Unlabelled, no maintainer response, inactive for ~11 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 40
Confidence: 90
Support Request: 10
needs triage Feature request to pin specific snap revisions for build-snaps and stage-snaps to ensure reproducible builds. Currently unlabelled and awaiting maintainer triage.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 45
Confidence: 75
Support Request: 10
needs triage Feature request to pin specific snap revisions for build-snaps and stage-snaps in rockcraft.yaml to ensure deterministic builds. Currently unassessed by maintainers after nearly 3 years.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.