Compare the performance of a PR against the base branch.
⚠️ Performance benchmarks provided by this action may fluctuate as load on GitHub Actions does. Run benchmarks locally before making any decisions based on the results.
A GitHub action that will compare the benchmark output between a PR and the base branch, using the project's criterion.rs benchmarks.
Create a .github/workflows/pull_request.yml
file in your repo:
on: [pull_request]
name: benchmark pull requests
jobs:
runBenchmark:
name: run benchmark
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: boa-dev/criterion-compare-action@v3
with:
cwd: "subDirectory (optional)"
# Optional. Compare only this package
package: "example-package"
# Optional. Compare only this benchmark target
benchName: "example-bench-target"
# Optional. Disables the default features of a crate
defaultFeatures: false
# Optional. Features activated in the benchmark
features: "async,tokio-support"
# Needed. The name of the branch to compare with. This default uses the branch which is being pulled against
branchName: ${{ github.base_ref }}
# Optional. Default is `${{ github.token }}`.
token: ${{ secrets.GITHUB_TOKEN }}
If you encounter this error, you can check this Criterion FAQ, to find a workaround.