Skip to content

elm CI flake: Warmup.elm fixture setup races the compiler (elm-stuff file locks / MVar deadlock) #3064

Description

@schani

What happens

The elm / schema-elm fixture jobs intermittently fail in the fixture-setup step, before any schema or JSON sample is tested. Setup runs rm -rf elm-stuff && elm make Warmup.elm, and the rm -rf races the Elm compiler's use of elm-stuff, deadlocking on file locks.

Evidence

Impact

Because the fixture matrix runs with fail-fast: true, a single Elm setup crash cancels every sibling language job in the same matrix and trips the test-complete gate. See #3066 for details.

Suggested solutions

  • Make the warmup retry-safe: wrap the setup in a retry loop with backoff.
  • Serialize Elm invocations so nothing else touches elm-stuff while the compiler runs.
  • Pre-build elm-stuff into the runner image or cache it, avoiding the rm -rf + rebuild race entirely.

Interim policy

Per CLAUDE.md ("Known CI flakiness"), we accept this flake for now. When it happens we retry the failed jobs (gh run rerun <run-id> --failed); a failure here only counts as real if it reproduces across retries or the PR actually touches Elm.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions