Make <code> tags optional in the commit SHA regex so existing benchmark
comments with the old format are still parsed correctly during transition.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
GitHub auto-links 7+ char commit SHAs in PR comments, but wrapping them
in <code> HTML tags prevented this. Remove the tags so SHAs become
clickable links automatically.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add early exit guard matching bench-run-history.mjs behavior, so a
broken build fails the workflow step instead of silently reporting 0ms.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Alternate PR/main execution order on even/odd iterations to neutralize
ordering bias from CPU/filesystem cache warming
- Add try/catch in measurement loops so a single failure doesn't lose
all data; abort if all runs fail
- Extract shared esc(), extractHistory(), renderHistory() into
bench-utils.mjs to eliminate duplication between pending and comment
- Add error logging for JSON parse failures instead of silent catch
- Fix biome lint: use template literals, sort imports, expand
single-line try/catch blocks, avoid assignment in expressions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Extract inline benchmark script to bench-run-history.mjs
- Increase measurement runs from 10/20/10 to 20/30/20 to match
perf-benchmark.yml for consistency
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Switch from sequential (all PR then all main) to interleaved execution
(PR→main alternating) so both branches experience similar runner load
conditions, reducing variance in the measured difference
- Increase measurement runs from 10/20/10 to 20/30/20 for better
statistical stability
- Extract inline Node.js scripts from YAML into separate .mjs files
under .github/scripts/perf-benchmark/ for maintainability
- Use sparse-checkout for jobs that only need the scripts
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>