fix(ci): fall back to the newest flat golden corpus
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 goldensstep inci.yml, which runstest -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.0and the nine fixtures materialize. cargo test -p preloop-runner --lib 'worker::job_extension::tests': 40 passed, includingtest_golden_acquirejob_payloads_parsing.cargo fmt --all --checkclean.
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.