Skip to content

ci: tolerate upstream mix.lock drift#522

Merged
DROOdotFOO merged 1 commit into
masterfrom
fix/ci-lock-drift
Jul 13, 2026
Merged

ci: tolerate upstream mix.lock drift#522
DROOdotFOO merged 1 commit into
masterfrom
fix/ci-lock-drift

Conversation

@DROOdotFOO

Copy link
Copy Markdown
Owner

Problem

CI's mix deps.get --check-locked (in ci-unified.yml, Setup & Cache + the macOS/Windows Test matrix) fast-fails whenever a transitive dep publishes a newer compatible patch after the lock was committed. The committed lock lags the Hex registry within minutes of an upstream release, so this reds every PR and master on a rolling basis:

None of these are code defects — every failing check is just the lock guard tripping on upstream drift.

Fix

Relax the two ci-unified.yml install steps to:

mix deps.get --check-locked || mix deps.get

Prefer the committed lock (so the reproducible path is unchanged when the lock is fresh), but fall back to a plain resolve on pure upstream drift instead of failing the pipeline. Genuinely uncommitted lock changes are still caught locally by the pre-commit hook and mix raxol.check.

Also refreshes the lock to current (phoenix_live_view 1.2.6 → 1.2.7).

Impact

Unblocks the four open merklebonsai fork PRs (#513, #514, #515, #520), all of which are green on their actual code and red only on this guard. After this merges, their next run clears.

Manual testing

  • This PR's own CI is green (runs the relaxed step + fresh lock)
  • After merge, re-run/update-branch a fork PR and confirm Setup & Cache + the Test matrix pass

CI's `mix deps.get --check-locked` fast-fails whenever any transitive dep
publishes a newer compatible patch after the lock was committed -- a
recurring false failure that reds every PR (and master) within minutes of
an upstream release (ex_ast, then phoenix_live_view, ...).

Relax the two ci-unified.yml install steps to
`mix deps.get --check-locked || mix deps.get`: prefer the committed lock,
but fall back to a plain resolve on pure upstream drift instead of failing
the pipeline. The pre-commit hook and `mix raxol.check` still guard
genuinely uncommitted lock changes locally.

Also refresh the lock to current (phoenix_live_view 1.2.6 -> 1.2.7) so the
common path stays reproducible.
@DROOdotFOO
DROOdotFOO merged commit 77a8ab9 into master Jul 13, 2026
21 checks passed
@DROOdotFOO
DROOdotFOO deleted the fix/ci-lock-drift branch July 13, 2026 18:17
@github-actions

Copy link
Copy Markdown

Unified Regression Test Results

Workflow: Unified Regression Testing
Event: pull_request
SHA: 2a4347e

Performance Results

Found 1 performance result(s)

Memory Results

Found 3 memory result(s)

Targets

  • Parser: <3μs average
  • Render: <1ms average
  • Memory: <3MB per session

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.

1 participant