Skip to content

test(github): normalize semver tags in latest_github_release_version#1160

Merged
ekalinichev merged 2 commits into
mainfrom
malept/test/harden-github-mise-which-test
Jul 10, 2026
Merged

test(github): normalize semver tags in latest_github_release_version#1160
ekalinichev merged 2 commits into
mainfrom
malept/test/harden-github-mise-which-test

Conversation

@malept

@malept malept commented Jul 10, 2026

Copy link
Copy Markdown
Member

What this PR does / why we need it

test-macos fails deterministically when install_latest_github_release installs a pre-release tag (stencil). The cause is an upstream mise bug: on mise 2026.6.14+, installing a GitHub tool with a v-prefixed pre-release tag such as v1.44.0-rc.3 records the install under the v-stripped version but leaves a stale v-prefixed entry, so mise which/mise where resolve the requested v-form and report the freshly-installed tool as not installed. It affects any v-prefixed pre-release GitHub tool resolved through mise_exec_tool; stable
v-prefixed tags are unaffected.

latest_github_release_version now strips a leading v (only before a digit) so callers receive a normalized version. circleci-orb-sync, its only other consumer, previously relied on the leading v; it now normalizes the stencil.lock-sourced version the same way and classifies on the v-less form, preserving its existing orb-version output.

malept added 2 commits July 9, 2026 19:47
The isolated mise global config used by these tests did not declare
wait-for-gh-rate-limit, so run_mise emitted "No version is set for shim:
wait-for-gh-rate-limit" while installing the test tool. Declare it (pinned to
match mise.devbase.toml) to keep the test output clean.

Assisted-By: Claude Opus 4.8 via opencode
mise 2026.6.14+ normalizes the leading `v` away when installing a pre-release
GitHub tag (e.g. v1.2.3-rc.1 becomes 1.2.3-rc.1) but re-adds it during
`mise which`/`mise where` resolution, so the freshly-installed tool resolves
as not installed/inactive. This broke install_latest_github_release for
pre-release tags (observed as the test-macos failure installing stencil) and
affects any v-prefixed pre-release GitHub tool resolved through mise_exec_tool.

Strip the leading `v` before handing the version to mise, only before a digit
so non-semver tags are untouched. The stencil install tests also assert the
binary runs.

Assisted-By: Claude Opus 4.8 via opencode
@ekalinichev ekalinichev merged commit 60855e3 into main Jul 10, 2026
9 checks passed
@ekalinichev ekalinichev deleted the malept/test/harden-github-mise-which-test branch July 10, 2026 09:31
@getoutreach-ci-2

Copy link
Copy Markdown

🎉 This PR is included in version 2.39.0-rc.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@getoutreach-ci-1

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 2.39.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants