name: Continuous Benchmarking with Bencher
on:
push:
branches:
- main
paths:
- "src/**/*.rs"
workflow_dispatch:
jobs:
benchmark:
name: Benchmark
runs-on: ubuntu-latest
permissions:
checks: write
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: bencherdev/bencher@v0.6.6
- name: Track base branch benchmarks with Bencher
run: |
bencher run \
--project rcf3 \
--key '${{ secrets.BENCHER_API_KEY }}' \
--branch main \
--testbed ubuntu-latest \
--threshold-measure latency \
--threshold-test t_test \
--threshold-max-sample-size 64 \
--threshold-upper-boundary 0.99 \
--thresholds-reset \
--error-on-alert \
--adapter rust_criterion \
--github-actions '${{ secrets.GITHUB_TOKEN }}' \
"cargo bench --bench comparison_bench"