Skip to content

test(elm): retry elm make after clearing elm-stuff#2963

Merged
schani merged 1 commit into
masterfrom
elm-make-retry
Jul 20, 2026
Merged

test(elm): retry elm make after clearing elm-stuff#2963
schani merged 1 commit into
masterfrom
elm-make-retry

Conversation

@schani

@schani schani commented Jul 20, 2026

Copy link
Copy Markdown
Member

CI run 29758296129 (on #2800) failed with the Elm compiler's internal cache-locking flake:

elm-stuff/0.19.2/d.dat: withBinaryFile: resource busy (file is locked)

This is a long-standing upstream issue (elm/compiler#2258, same message/file; related cache-corruption family: #2075, #2134, #1845) that 0.19.2 did not fix. Our Warmup.elm mitigation covers the shared ELM_HOME race but not the per-run-directory elm-stuff lock.

Mitigation: on compile failure, delete the run directory's elm-stuff and retry once — the canonical workaround for this bug family. Costs nothing when the compile succeeds; a couple of seconds of dependency rebuild from the warmed ELM_HOME when the flake strikes.

Test-harness-only change; no generated output is affected.

🤖 Generated with Claude Code

The Elm compiler's per-project cache locking is flaky under heavy
parallel load ("elm-stuff/0.19.2/d.dat: withBinaryFile: resource busy
(file is locked)", elm/compiler#2258, seen in CI run 29758296129). The
canonical workaround is to delete elm-stuff and rebuild; do that
automatically on the first compile failure. The retry rebuilds
dependencies from the warmed shared ELM_HOME, so it only costs time
when the flake actually strikes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@schani
schani merged commit 0591fdb into master Jul 20, 2026
28 checks passed
@schani
schani deleted the elm-make-retry branch July 20, 2026 17:08
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