Skip to content

fix(e2e-real): standalone perf gate must exit nonzero on a regression (#214 follow-up) - #281

Merged
VijitSingh97 merged 5 commits into
developfrom
fix/267-perf-gate-exit
Jul 17, 2026
Merged

VijitSingh97 merged 5 commits into
developfrom
fix/267-perf-gate-exit

Conversation

@VijitSingh97

Copy link
Copy Markdown
Contributor

Summary

sudo bash tests/e2e-real.sh perf (the release perf gate per RELEASING.md) printed a red ✗ perf REGRESSION line but still exited 0, so any scripted check of the exit code would pass a regressing release.

  • perf() now ends every path through summary "perf", mirroring how provision/verify/teardown end — summary is what converts FAIL>0 into exit 1. All five early return 0 paths (bench failure, unparseable hashrate, record-mode regression refusal, record-mode success, no-baseline) now flow through summary "perf" too.
  • In all mode a perf failure is now attributed to perf (the run stops at perf's summary), not misattributed to teardown.
  • The e2e-real: perf recording must judge before it writes — EPYC regressions are currently recorded, not gated #214 unit test in tests/run.sh no longer redefines the exit plumbing it is supposed to verify: the harness now extracts the real ok/bad/summary from e2e-real.sh (verbatim, same technique as the rig_lock tests) and asserts on perf()'s real exit status — nonzero on a stubbed regression, 0 on a pass. Only phase and the bench remain stubbed.
  • Audited the other standalone dispatch phases for the same pattern: provision, verify, and teardown all already end in summary with no early return after a bad (verify's one early return is a clean SKIP that goes through summary "verify" first). Only perf had the bug.

Verified: the reworked test goes red against the pre-fix perf() (the two exit-code assertions fail with rc=0) and green with the fix. make test: 1332 passed, 0 failed.

Closes #267

🤖 Generated with Claude Code

VijitSingh97 and others added 2 commits July 16, 2026 21:30
…#214 follow-up)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…#214 follow-up)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@VijitSingh97
VijitSingh97 enabled auto-merge (squash) July 17, 2026 02:33
@VijitSingh97
VijitSingh97 merged commit 12594ca into develop Jul 17, 2026
9 checks passed
@VijitSingh97
VijitSingh97 deleted the fix/267-perf-gate-exit branch July 17, 2026 03:14
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.

e2e-real: standalone perf gate exits 0 on a regression (perf() never calls summary)

1 participant