with one click
mise-version-bump
// Bumps the pinned Mise version in toolprovider/mise/mise.go. Use when the user wants to update, bump, or upgrade Mise, or change misePreviewVersion / miseStableVersion / their checksum maps.
// Bumps the pinned Mise version in toolprovider/mise/mise.go. Use when the user wants to update, bump, or upgrade Mise, or change misePreviewVersion / miseStableVersion / their checksum maps.
| name | mise-version-bump |
| description | Bumps the pinned Mise version in toolprovider/mise/mise.go. Use when the user wants to update, bump, or upgrade Mise, or change misePreviewVersion / miseStableVersion / their checksum maps. |
Automates bumping misePreviewVersion / miseStableVersion and their checksum maps in toolprovider/mise/mise.go. Fail-fast on checksum mismatch or missing GCS objects. Ask the user twice: once for track/action, once to confirm the PR.
Before starting, read toolprovider/mise/mise.go and toolprovider/mise/bootstrap.go to discover:
Use these values throughout — do not assume them from memory.
jdx/mise. Valid releases: vYYYY.M.D (CalVer only with optional : <description>).Update Mise version. Branch: bump/mise-<NEW_TAG> (or bump/mise-stable-<TAG> for match-stable).go.mod contains module github.com/bitrise-io/bitrise/v2. If not, ask the user to cd to the repo root and stop.gh, gcloud, shasum, and git are on PATH. List all missing and stop if any.gcloud auth login and stop.bootstrap.go. If access fails, surface the error and stop — do not proceed to download or upload.Read toolprovider/mise/mise.go and extract the current preview and stable version strings. Print both.
Fetch the latest release tag from jdx/mise. Validate it is a CalVer tag (e.g. v2025.1.0). Print it. Stop on failure.
Q1 - Which track?
Q2 - What action?
<latest>mise.go; no version string change<latest>, stable to current preview (only if Q1 = c)| State | Q1 | Q2 |
|---|---|---|
preview == stable == latest | - (skip) | b |
preview == stable < latest | a, b, c | a, b |
preview > stable AND preview == latest | a, b, c | a, b, c, d |
preview > stable AND latest > preview | a, b, c | a, b, c, d |
preview < stable | Unexpected - surface values. Ask: update preview to match stable (Q1=a, Q2=a), repair (Q2=b), or abort. |
Record targetVersion and tracks ({preview}, {stable}, {preview,stable}, {stable-match-preview}).
For {stable-match-preview} (Q1=b or c, Q2=c): skip steps 4–7 and go directly to step 8.
Range: (fromTag, toTag] where fromTag = older of the tracks being moved, toTag = targetVersion.
For each CalVer release in range, fetch its details from jdx/mise.
Scan body (case-insensitive) for keywords related to declarative tool setup:
registry lockfile asdf env shim mirror
tarball tools core idiomatic mise.toml direnv
backend tool-versions breaking deprecat remove
Also scan for mise core tools and popular mobile dev tools.
Capture matching lines verbatim, attributed to their release tag and URL.
Risk level (always print with one-line justification):
toolprovider/mise/ for all mise subcommands invoked and verify none are removed or renamed.Related issues (best effort): for matched lines that look like bugs, search for related issues in bitrise-io/bitrise. Surface hits as Possibly related: bitrise-io/bitrise#<num> - <title>. Silent on no match.
Create a temp dir and use gh api to fetch one artifact per platform key (using the artifact naming pattern from the repo facts step) plus the checksums file (default name: SHASUMS256.txt).
Verify the temp dir contains exactly one artifact per platform + the checksums file. If anything is missing, delete the temp dir and stop.
Compute SHA-256 checksum for each artifact. Compare against the checksums file.
On any mismatch: print the mismatching platforms with expected vs actual checksums, delete the temp dir, and STOP: do not edit files or touch GCS.
On full match: save checksums as computedChecksums[platform] and continue.
Using the GCS bucket and path structure from the repo facts step, for each artifact:
Then list the version prefix to confirm all platform artifacts are present. If any are missing → delete the temp dir and STOP, do not edit files.
After successful verification, delete the temp dir.
toolprovider/mise/mise.goFor {stable-match-preview}: this is where execution resumes after skipping steps 4–7.
Update the relevant version constant(s) and checksum map(s) using the Edit tool, including enough surrounding context to unambiguously target the preview or stable block. For {stable-match-preview}, copy current preview values into the stable block.
Ask: "Create the PR now?"
Yes: commit, push, and open a PR. Print the PR URL.
No: leave edits in working tree.
Print a brief markdown summary covering: what changed (tracks and versions), risk level with justification, relevant changelog highlights, and PR URL or status.