Repository navigation
test: check that each vland template's mise.lock locks its mise.toml - #287
Merged
Merged
Conversation
The generated CI runs `mise install --locked`, so a template whose mise.toml drifts from its mise.lock breaks every project made from it. Check that the lock covers every [tools] request on every platform it locks (and linux-x64), that init ships it byte for byte, that `mise install --locked --dry-run` passes on the generated project with mise isolated from the machine, and that init needs no mise. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZVC7xzzsEmByszmfff4u2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZVC7xzzsEmByszmfff4u2
|
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.
Summary
The report "
vland initdoesn't generatemise.lock, and the templates' CI runsmise install --locked" doesn't reproduce on main. dx#271 shipsvland/templates/*/mise.lock, vland copies it verbatim (both through giget and withVLAND_TEMPLATES_DIR), and mise-action only adds--lockedwhen a lock exists. Checked with@variablelab/vland@0.4.1from npm.Behaviour this PR locks in:
vland initnever needs or calls mise, and the project gets the template's committed lock.There's no changeset, because this only touches tests and repo docs.
Evidence
mise.tomlset tonode = "25"with the old lock.init-templates.test.ts"pins node and pnpm" still passes, and the generated project's CI would fail withnode@25 is not in the lockfile.After: the drift guard fails with
expected [ 'node@25 is not in mise.lock' ] to deeply equal [], and the--lockedoracle fails too. Runningmise lockin the template dir turns it green again.mise.lock(the reported shape) fails 5 of the 10 new tests, the--lockedoracle included.env -i PATH=<node+pnpm only>:/usr/bin:/bin, socommand -v misefinds nothing: the defaultvland init(install + git) exits 0 and commits amise.lockequal to the template's.Merge Danger
Door: two-way
Blast Radius: none
This only touches tests and repo docs, and nothing is published. The oracle test skips when mise isn't on PATH; dx CI has mise.
🤖 Generated with Claude Code
https://claude.ai/code/session_01EZVC7xzzsEmByszmfff4u2