chore: add mise.lock - #79
Merged
Merged
Conversation
Generate the missing mise.lock alongside the existing mise.toml so tool versions resolve deterministically, and produce .github/actions.lock.yaml via alflow to pin the mise-action workflow to a SHA.
The matrix tested elixir 1.15-1.18/otp 26-27 by overriding MISE_ELIXIR_VERSION/MISE_ERLANG_VERSION per combo, but mise.lock only ever locks the exact version(s) currently resolved from mise.toml (1.18.3-otp-27 / 27.3) -- `mise lock` actively prunes any other version entry. None of the four matrix combos' literal version strings matched the lockfile under --locked, so every job failed with "... is not in the lockfile" regardless of checksums. Collapsed to one job using mise.toml's pinned version (already the newest of the four). Verified locally under that exact toolchain: mix compile, mix format --check-formatted, mix credo --strict (credo already resolves to 1.7.15, no bump needed), and mix test (207 tests, 0 failures, against a real postgres) all pass. Also dropped the leftover ImageOS/RUNNER_OS env vars, which referenced the erlef/setup-beam action this repo no longer uses.
The erlang lock entry was generated against ubuntu-22.04 precompiled builds, but GH Actions runners are now ubuntu-24.04, so `mise install --locked` couldn't find a matching platform entry and reported the tool as missing from the lockfile entirely.
This org runs a mix of runner OS images: dynamic runs-on=.../runner=... pools are ubuntu-24.04, but named pools like gha-runner-arm64-xs/xxs and ubuntu-slim are still ubuntu-22.04. mise install --locked requires the lock's precompiled_os to exactly match the resolving machine's real OS, so removing the ubuntu-22.04 entry (previous commit) broke jobs still running on those older named pools. Both entries now coexist.
…26.8.12 Pins step-security/mise-action to v4.2.4 (mise CLI 2026.8.12) and regenerates mise.lock to the versioned lockfile format mise 2026.8.11+ requires. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
dyl-sv
approved these changes
Aug 26, 2026
dyl-sv
left a comment
There was a problem hiding this comment.
Verified: CI green on HEAD (test/permit/publish all pass). Diff correctly drops the pre-migration elixir/otp version matrix in favor of the single mise.toml-pinned toolchain (1.18.3-otp-27), and the follow-up commits regenerate mise.lock's erlang entries for both ubuntu-22.04 and ubuntu-24.04 precompiled_os so the actual ubuntu-latest runner is covered. mix.exs declares elixir: "~> 1.15", compatible with the locked 1.18.3. No leftover matrix, no missing Hex/rebar bootstrap needed (no dialyzer/mix.lock issues), no stale runner labels.
Closed
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
mise.lockfor the existingmise.toml, and regenerates.github/actions.lock.yamlviaalflowto pin the mise-action workflow reference.mise.toml-pinned Elixir/OTP toolchain (1.18.3-otp-27 / 27.3); the previous elixir 1.15–1.18/otp 26–27 version matrix and itsMISE_ELIXIR_VERSION/MISE_ERLANG_VERSIONoverrides are gone, along with the leftoverImageOS/RUNNER_OSenv vars from the erlef/setup-beam action this repo no longer uses.mise.lockkeeps bothubuntu-22.04andubuntu-24.04precompilederlanglock entries side by side, since this org's fleet mixes GitHub-hosted ubuntu-24.04 runners with named/self-hosted pools (gha-runner-arm64-xs/xxs,ubuntu-slim) still on ubuntu-22.04 —mise install --lockedpicks whichever entry matches the resolving machine's real OS.mise.lockis in the versionedlockfile_version = 1format mise 2026.8.11+ requires, andstep-security/mise-actionis pinned tov4.2.4(mise CLI2026.8.12).Part of the fleet-wide mise migration follow-up.
Test plan