build(mise): lock tool versions and provide ripgrep - #96
Merged
Conversation
`[tools]` pinned only to a minor range, so `mise install` — locally and in CI through `jdx/mise-action` — resolved whatever was newest at the time. Enable `lockfile = true` and commit `mise.lock`, generated for linux-x64, macos-arm64 and windows-x64, so every checkout installs the same exact versions with checksums. `minimum_release_age = "7d"` moves the supply-chain cooldown from personal global config into the repo, where CI and other contributors get it too. Add ripgrep to `[tools]` while doing so. `mdd search` shells out to it and six search tests exercise it, but nothing provided it: CI apt- installed it and a local checkout got whatever was on PATH, which fails opaquely (empty output, failing assertions) when that is a stale shim. CI no longer apt-installs it, since mise.lock is now the single source of the version. Assisted-by: Claude:claude-opus-5 Co-Authored-By: lsimons-bot <bot@leosimons.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Found by a
/setuppass over the repo's scaffolding. Everything else itchecks was already in good shape; these were the two real gaps.
Lock the tool versions
[tools]pinned only to a minor range (python = "3.14",uv = "0.12",bun = "1.3",vale = "3"), somise install— locally and in CI throughjdx/mise-action— resolved whatever was newest at the time. There was nomise.lock.lockfile = true, andmise.lockcommitted, generated forlinux-x64,macos-arm64,windows-x64(25 platform entries, covering thetask-scoped tools
actionlintandshellchecktoo).minimum_release_age = "7d"moves the supply-chain cooldown out ofpersonal global config and into the repo, so CI and other contributors
get it as well.
Provide ripgrep
mdd searchshells out torg, and six tests intests/search/andtests/commands/test_search.pyexercise it end to end — but nothingprovided it. CI apt-installed it; a local checkout got whatever was on
PATH. When that is a stale mise shim with no version set, the tests failopaquely:
rgreturns empty output and the assertions fail with no hintthat the tool is the problem. Reproduced locally before this change and
confirmed unrelated to the lockfile work.
ripgrep = "14"in[tools]makesmise installprovide it, pinned andchecksummed like everything else. Dropped from the apt line in
ci.ymlsothere is a single source of the version.
Verification
mise run cigreen: 2543 passed, coverage 88.34% against the 85% floor.Before the ripgrep change, the same gate on this machine had 6 failures.
zizmor --collect=all --strict-collection .github/— no findings.mise run actions-lint— clean.The CI change is the one thing only a real Actions run can confirm:
rgnowhas to resolve through mise's shims rather than apt. Worth a look at the
Teststep before merging.Co-Authored-By: lsimons-bot bot@leosimons.com