Skip to content

chore: add mise.lock - #79

Merged
krukonshedul merged 5 commits into
masterfrom
chore/add-mise-lock
Aug 26, 2026
Merged

chore: add mise.lock#79
krukonshedul merged 5 commits into
masterfrom
chore/add-mise-lock

Conversation

@krukonshedul

@krukonshedul krukonshedul commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds the missing mise.lock for the existing mise.toml, and regenerates .github/actions.lock.yaml via alflow to pin the mise-action workflow reference.
  • CI runs a single job on the 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 its MISE_ELIXIR_VERSION/MISE_ERLANG_VERSION overrides are gone, along with the leftover ImageOS/RUNNER_OS env vars from the erlef/setup-beam action this repo no longer uses.
  • mise.lock keeps both ubuntu-22.04 and ubuntu-24.04 precompiled erlang lock 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 --locked picks whichever entry matches the resolving machine's real OS.
  • mise.lock is in the versioned lockfile_version = 1 format mise 2026.8.11+ requires, and step-security/mise-action is pinned to v4.2.4 (mise CLI 2026.8.12).

Part of the fleet-wide mise migration follow-up.

Test plan

  • CI passes on this branch (mix compile, mix format --check-formatted, mix credo --strict, mix test all pass on the mise.lock-pinned toolchain)

krukonshedul and others added 5 commits August 21, 2026 13:34
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>
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedstep-security/​mise-action@​2796166110dee826668caddd4bffedae5116e7cd ⏵ 6e96d2ffbc65c037f23c78818f2a339d6cf830f799 +1100100100100

View full report

@dyl-sv dyl-sv left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@krukonshedul
krukonshedul merged commit 231447a into master Aug 26, 2026
6 checks passed
@krukonshedul
krukonshedul deleted the chore/add-mise-lock branch August 26, 2026 12:18
@krukonshedul krukonshedul mentioned this pull request Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants