snapcraft promote fails with <track>/edge
Metadata
Current evaluation
CLI promotion from edge was enabled by merged PR #3185 (commit 131c99fd9), removing the restriction that forced users to use the web UI.
Resolution: closed resolved
Reason: PR #3185 was merged as commit 131c99fd9 and allowed Snapcraft CLI promotions from edge without requiring --yes.
Evaluated by: mr-cal-bot
No scores available.
Issue body
I cannot snapcraft promote from edge of a track to beta in that track, snapcraft complains that the source channel is invalid.
$ snapcraft version
snapcraft, version 3.9.3
$ snapcraft promote maas --from-channel 2.7/edge --to-channel 2.7/beta
snapcraft promote does not have a stable CLI interface. Use with caution in scripts.
Usage: snapcraft promote [OPTIONS] <snap-name>
Error: '2.7/edge' is not a valid set value for --from-channel.
2 $ snapcraft status maas
Track Arch Channel Version Revision
2.7 amd64 stable - -
candidate - -
beta - -
edge 2.7.0~beta1-8192-g.a7d7d7b25 4758
arm64 stable - -
candidate - -
beta - -
edge 2.7.0~beta1-8191-g.1d1b8aece 4757
i386 stable - -
candidate - -
beta - -
edge 2.7.0-8167-g.b918314b8 4728
ppc64el stable - -
candidate - -
beta - -
edge 2.7.0~beta1-8190-g.02faff91e 4754
latest amd64 stable 2.3.3-6498-ge4db91d-snap 2589
candidate ^ ^
beta 2.6.0-7802-g59416a8-snap 3635
edge 2.7.0-8135-g.321fadfe8 4649
arm64 stable 2.3.3-6498-ge4db91d-snap 2590
candidate ^ ^
beta 2.6.0-7802-g59416a8-snap 3637
edge 2.7.0-8135-g.321fadfe8 4652
i386 stable 2.3.3-6498-ge4db91d-snap 2591
candidate ^ ^
beta 2.6.0-7802-g59416a8-snap 3634
edge 2.7.0-8135-g.321fadfe8 4650
ppc64el stable 2.3.3-6498-ge4db91d-snap 2588
candidate ^ ^
beta 2.6.0-7802-g59416a8-snap 3636
edge 2.7.0-8135-g.321fadfe8 4651
Looking at the code, I see this is a deliberate decision, but the web UI lets me promote from edge. Snapcraft should at least explain to me why it won't let me promote from edge (something like: edge is a moving target, promoting from it is unstable, if you want to promote the current revisions, use these 4 release commands).
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | CLI promotion from edge was enabled by merged PR #3185 (commit 131c99fd9), removing the restriction that forced users to use the web UI. | |
| stealth/space-bunny-alpha | — | closed resolved | Snapcraft gained CLI support for promoting revisions from moving channels such as <track>/edge; the restriction was resolved in snapcore/snapcraft#3185. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR canonical/snapcraft#3185, enabling CLI promotions from track-qualified edge channels without requiring --yes. | |
| stealth/space-bunny-alpha | — | closed stale | Closed without a recorded fix or rationale. Later, #5984 (1b669ec44) removed the edge-source restriction in Snapcraft 9, adding promote --yes support. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. The request to improve error messaging for track/edge promotions was abandoned, with no fix or discussion provided. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution or discussion. The validation error preventing promotion from edge channels remains unaddressed, likely abandoned or rejected due to intentional design constraints in snapcraft. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed as intended. The <track>/edge restriction is deliberate to prevent unstable promotions. No code changes were made, and the suggested error message improvement was not implemented. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution. The snapcraft promote command intentionally rejects <track>/edge as a source channel to prevent promoting unstable revisions. The limitation remains enforced despite web UI support. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcraft#3185
(confidence 100%)
The linked PR directly changed edge-channel promotion and was cited in the issue's final maintainer comment.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5945 snapcraft promote doesn't work when using the `--yes` flag. | snapcraft | closed | Fixed by merged PR #5984 (commit 1b669ec44), which removed the edge-channel restriction so `snapcraft promote --from-channel edge --to-channel beta --yes` now works. Shipped in Snapcraft 9.0. | |
| #5984 feat!: allow promoting from edge channels with --yes | snapcraft | merged | Merged #5984 as commit 1b669ec44, allowing promote --yes from edge channels in Snapcraft 9 and resolving #5958, #5945, #4439, and #4312. |