ci(benchmark): gate scenario speed relative to the runner #285
Notifications
Due Date
No due date set.
Blocks
Depends on
#286 perf(planning): accept the speed target and lower the hang-guard timeout
nessar/vac-optimizer
#280 test(planning): compare the engine against a frozen engine on random requests
nessar/vac-optimizer
#281 test(benchmark): report each scenario as it finishes
nessar/vac-optimizer
Reference: nessar/vac-optimizer#285
Reference in new issue
Block a user
Parent
#279
What to build
The CI benchmark judges speed relative to the runner it lands on. Before the protocol, the job times the frozen engine on the two-year scenario, best of three, in the same job. Each scenario's budget is a multiple of that calibration. A slower or busy runner no longer fails a correct change, and a real regression still fails on a fast runner. The 300-second outer timeout remains for now as a hang guard. This replaces the absolute 300-second acceptance protocol named in #78, so the policy change is documented with it.
Acceptance criteria
Blocked by
Done in PR #287 (
acdb193,cfdb28c,3bbe989): relative gate with frozen-engine calibration, per-scenario multipliers and failure messages. Passed on nessar-desktop and srvhome (srvhome ~1.9x slower; CI ratios recorded in docs/benchmark/README.md). The hang guard was raised to 600 s (test timeout 570 s) because srvhome needs ~370 s. Decision recorded in docs/gitea-actions.md: keep the benchmark on push and pull_request, since the push run gates image publication.