Skip to content

Add CI benchmark regression detection for PRs#147

Merged
stainlu merged 1 commit intomainfrom
ci/bench-regression-detection
Apr 8, 2026
Merged

Add CI benchmark regression detection for PRs#147
stainlu merged 1 commit intomainfrom
ci/bench-regression-detection

Conversation

@stainlu
Copy link
Copy Markdown
Owner

@stainlu stainlu commented Apr 8, 2026

Summary

  • Removes the push-only gate on the bench job so it runs on both push to main and pull requests
  • On push to main: saves criterion baseline to GitHub Actions cache (both SHA-keyed and latest)
  • On pull requests: restores the latest baseline, runs benchmarks, compares via critcmp, posts a formatted comparison as a PR comment, and fails the job if any benchmark regresses by more than 10%

Test plan

  • Verify YAML syntax is valid (done locally via python3 -c "import yaml; yaml.safe_load(...)")
  • Verify cargo check --workspace passes (done locally, clean build)
  • Confirm no Rust source files were modified (only .github/workflows/ci.yml)
  • After merge to main: confirm the bench job runs and saves a baseline to cache
  • On a subsequent PR: confirm baseline is restored, critcmp runs, and a comment is posted

🤖 Generated with Claude Code

The bench job previously only ran on push to main, accumulating
criterion artifacts without comparison. This adds a dual-mode
workflow: on push to main it saves the baseline to cache, and on
PRs it restores the baseline, runs benchmarks, compares via critcmp,
posts results as a PR comment, and fails if any benchmark regresses
by more than 10%.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying euca-engine with  Cloudflare Pages  Cloudflare Pages

Latest commit: ddbbdf4
Status: ✅  Deploy successful!
Preview URL: https://f1848df4.euca-engine.pages.dev
Branch Preview URL: https://ci-bench-regression-detectio.euca-engine.pages.dev

View logs

@stainlu stainlu merged commit dd31897 into main Apr 8, 2026
4 of 8 checks passed
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.

1 participant