Skip to content

fix(ci): bust stale nightly _build cache holding pre-OTP-29 meck#70

Merged
Taure merged 1 commit into
mainfrom
fix/nightly-stale-meck-cache
Jul 4, 2026
Merged

fix(ci): bust stale nightly _build cache holding pre-OTP-29 meck#70
Taure merged 1 commit into
mainfrom
fix/nightly-stale-meck-cache

Conversation

@Taure

@Taure Taure commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Problem

Nightly Property Tests has failed every night (issues #61/#65/#68/#69) with a compile error in meck, not a property test:

===> Compiling _build/test/lib/meck/src/meck_matcher.erl failed
 76 │  (catch erlang:apply(hamcrest, assert_that, [Value, HamcrestMatcher])) == true;
    │   ╰── 'catch ...' is deprecated; please use 'try ... catch ... end' instead.
##[error]Process completed with exit code 1.

Root cause

Same as widgrensit/asobi#155. meck is pulled transitively via the asobi git dep and, like proper, is a test-profile dep that rebar3 never writes to rebar.lock. The nightly cache key was hashFiles('rebar.lock'), so it never busted; restore-keys: nightly-prop- restored an old _build holding meck 0.9.x (bare catch, fatal under OTP 29), which rebar3 recompiled instead of fetching the fixed 1.2.0.

Fix

  • Hash rebar.config in the cache key.
  • Bump the prefix to nightly-prop-v2- to retire the poisoned caches.

Pairs with widgrensit/asobi#155.

Same fix as asobi: the cache key hashed only rebar.lock, but meck (pulled
transitively via the asobi git dep) and proper are test-profile deps absent
from the lock. Stale _build resurrected meck 0.9 (bare 'catch', fatal under
OTP 29). Hash rebar.config and retire the poisoned caches with a -v2- prefix.
@Taure
Taure merged commit 55dfdb2 into main Jul 4, 2026
15 checks passed
@Taure
Taure deleted the fix/nightly-stale-meck-cache branch July 4, 2026 10: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