name: bench
on:
push:
branches:
- main
pull_request:
concurrency:
group: bench-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
cargo:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: raviqqe/cargo-cache@v1
- run: cargo bench
codspeed:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: raviqqe/cargo-cache@v1
- run: cargo install --features vendored-openssl cargo-codspeed
- run: cargo codspeed build
- uses: codspeedhq/action@v4
with:
mode: instrumentation
run: cargo codspeed run
token: ${{ secrets.CODSPEED_TOKEN }}
bench:
needs:
- cargo
- codspeed
if: always()
runs-on: ubuntu-latest
steps:
- run: for result in ${{ join(needs.*.result, ' ') }}; do [ $result = success ]; done