fix(ci): fall back to the newest flat golden corpus

Merged
BN
5d ago
+56-1

What \u0026 why

#710 bumped versions.toml's runner_version to 2.337.0 (with [skip ci]), but the flat workspace-test captures (06-multi-step … 15-oidc-id-token) exist only under v2.336.0; v2.337.0 carries nested gh-official/* captures. Two readers key off the pinned runner:

  • the Materialize conformance goldens step in ci.yml, which runs test -s .runner-watch/golden/v2.337.0/…/flows.jsonl;
  • job_extension_tests' golden loader, which panics when the scenario file is absent.

Since #710 merged with [skip ci], main went red for every PR: all four rust shards fail at the materialize step (observed on #692 and #702).

Change

Both readers now prefer the pinned corpus when its flat capture exists, and otherwise take the newest vN.N.N corpus that has the scenario. A compatibility-pin bump then costs golden coverage until the flat capture lands, instead of breaking every shard.

Verification

  • The CI snippet resolves v2.337.0 → v2.336.0 and the nine fixtures materialize.
  • cargo test -p preloop-runner --lib 'worker::job_extension::tests': 40 passed, including test_golden_acquirejob_payloads_parsing.
  • cargo fmt --all --check clean.

Devin Review


Summary by cubic

Fixes CI and golden parser tests that broke after #710 bumped the pinned runner to v2.337.0, where the flat captures only exist up to v2.336.0. The Materialize conformance step and the job_extension_tests golden loader now use the pinned corpus only when its files exist, and otherwise fall back to the newest corpus that has the scenario.

  • A pin bump now costs golden coverage until the flat capture lands, instead of failing every shard on a missing flows.jsonl.

Summary by CodeRabbit

  • Bug Fixes
    • Conformance checks now fall back to the newest available matching reference when the pinned version lacks required data. If no matching reference is available, checks retain the configured version or skip loading the unavailable scenario.