Skip to content

chore(release): publish snap to stable channel#9318

Merged
jdx merged 1 commit intomainfrom
snap-stable-channel
Apr 23, 2026
Merged

chore(release): publish snap to stable channel#9318
jdx merged 1 commit intomainfrom
snap-stable-channel

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Apr 23, 2026

Summary

  • Flip snap grade from devel to stable so the store will accept stable-channel uploads
  • Change the release workflow to build/publish on the stable channel instead of beta (mise has no separate beta release stream, so every GitHub release corresponds to a stable mise build)

Requested in #9308 by a Canonical maintainer — currently the snap only publishes to beta, which means command-not-found on Ubuntu doesn't surface mise.

Test plan

  • Next tagged release triggers snapcraft-publish.yml and uploads to the stable channel successfully
  • snap info mise shows a recent version under stable: after release

🤖 Generated with Claude Code


Note

Medium Risk
Moderate risk because it changes the release/publishing channel for the Snap artifact, increasing blast radius if the packaging or workflow is misconfigured. No application runtime code is modified.

Overview
Publishes the Snap to the Snap Store stable channel instead of beta by updating the release workflow (snapcraft-channel and release set to stable).

Updates snapcraft.yaml to set grade: stable (from devel) so stable-channel uploads are accepted.

Reviewed by Cursor Bugbot for commit b8eadd3. Bugbot is set up for automated code reviews on this repo. Configure here.

Closes #9308

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 23, 2026

Greptile Summary

This PR promotes the mise snap from the beta channel to stable by changing grade: develgrade: stable in snapcraft.yaml and updating the publish workflow to build with the stable snapcraft toolchain and release to the stable channel. The change is required for Ubuntu's command-not-found integration to surface mise automatically.

Confidence Score: 5/5

Safe to merge — minimal, correct configuration changes with no logic or security concerns.

Both changes are well-scoped: grade: stable is a prerequisite for stable-channel publishing, and flipping the workflow channels from beta to stable is the correct and complete change. No bugs, no missing side effects.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/snapcraft-publish.yml Changes snapcraft build channel from beta→stable (uses stable snapcraft tooling) and publish release channel from beta→stable.
snapcraft.yaml Upgrades snap grade from devel→stable, which is required for the Snap Store to accept stable-channel uploads.

Sequence Diagram

sequenceDiagram
    participant GH as GitHub Release (tag)
    participant WF as snapcraft-publish.yml
    participant SB as snapcore/action-build (stable channel)
    participant SP as snapcore/action-publish
    participant SS as Snap Store

    GH->>WF: release published event
    WF->>SB: build snap (snapcraft-channel: stable)
    SB-->>WF: snap artifact
    WF->>SP: publish snap
    SP->>SS: upload to stable channel (grade: stable)
    SS-->>SP: accepted (grade >= stable required)
Loading

Reviews (1): Last reviewed commit: "chore(release): publish snap to stable c..." | Re-trigger Greptile

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the snapcraft.yaml configuration by changing the grade from devel to stable. I have no feedback to provide as there are no review comments.

@jdx jdx merged commit 7ff14d3 into main Apr 23, 2026
36 checks passed
@jdx jdx deleted the snap-stable-channel branch April 23, 2026 13:46
@github-actions
Copy link
Copy Markdown

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.4.19 x -- echo 23.7 ± 0.5 22.4 25.6 1.00
mise x -- echo 23.9 ± 0.8 22.4 32.8 1.01 ± 0.04

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.4.19 env 23.1 ± 0.7 21.8 26.9 1.00
mise env 23.9 ± 0.6 22.2 26.5 1.03 ± 0.04

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.4.19 hook-env 24.7 ± 0.7 22.8 28.7 1.00
mise hook-env 25.1 ± 0.7 23.4 28.5 1.02 ± 0.04

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.4.19 ls 23.0 ± 0.7 21.2 28.8 1.05 ± 0.05
mise ls 21.9 ± 0.7 20.4 26.1 1.00

xtasks/test/perf

Command mise-2026.4.19 mise Variance
install (cached) 166ms 166ms +0%
ls (cached) 79ms 79ms +0%
bin-paths (cached) 84ms 84ms +0%
task-ls (cached) 831ms 826ms +0%

mise-en-dev added a commit that referenced this pull request Apr 24, 2026
### 🐛 Bug Fixes

- **(config)** resolve relative path: tool versions against config root
by @jdx in [#9320](#9320)
- **(lock)** resolve @latest and prune poisoned lockfile entries by @jdx
in [#9321](#9321)
- fix - be able to work with regex in attestation check by @monotek in
[#9327](#9327)

### 🚜 Refactor

- **(aqua)** bake aqua registry from merged yaml by @risu729 in
[#9043](#9043)

### 📚 Documentation

- add cross-site announcement banner by @jdx in
[#9326](#9326)
- keep banner height in sync via ResizeObserver by @jdx in
[#9330](#9330)
- respect banner expires field by @jdx in
[#9334](#9334)

### 📦️ Dependency Updates

- bump communique to 1.0.2 by @jdx in
[#9313](#9313)
- bump communique to 1.0.3 by @jdx in
[#9332](#9332)
- update actions/setup-node digest to 48b55a0 by @renovate[bot] in
[#9339](#9339)
- update ghcr.io/jdx/mise:alpine docker digest to a92efa5 by
@renovate[bot] in [#9340](#9340)
- update ghcr.io/jdx/mise:rpm docker digest to 5c24f69 by @renovate[bot]
in [#9343](#9343)
- update rust docker digest to e4f09e8 by @renovate[bot] in
[#9345](#9345)
- update rui314/setup-mold digest to 9c9c13b by @renovate[bot] in
[#9344](#9344)
- update ghcr.io/jdx/mise:deb docker digest to a3afe3e by @renovate[bot]
in [#9342](#9342)
- update ghcr.io/jdx/mise:copr docker digest to 4098d5a by
@renovate[bot] in [#9341](#9341)
- update taiki-e/install-action digest to 74e87cb by @renovate[bot] in
[#9346](#9346)

### Chore

- **(ci)** remove cargo-vendor install from ppa publish by @jdx in
[#9312](#9312)
- **(release)** publish snap to stable channel by @jdx in
[#9318](#9318)
- remove FUNDING.yml in favor of jdx/.github default by @jdx in
[#9331](#9331)

## 📦 Aqua Registry

Updated [aqua-registry](https://github.com/aquaproj/aqua-registry):
[v4.492.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.492.0)
->
[v4.498.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.498.0).

Included aqua-registry releases:

-
[v4.493.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.493.0)
-
[v4.494.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.494.0)
-
[v4.494.1](https://github.com/aquaproj/aqua-registry/releases/tag/v4.494.1)
-
[v4.495.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.495.0)
-
[v4.496.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.496.0)
-
[v4.497.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.497.0)
-
[v4.498.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.498.0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant