rustframe/.github/workflows/run-benchmarks.yml

44 lines
1003 B
YAML

name: run-benchmarks
on:
workflow_dispatch:
push:
branches:
- main
jobs:
pick-runner:
runs-on: ubuntu-latest
outputs:
runner: ${{ steps.choose.outputs.use-runner }}
steps:
- uses: actions/checkout@v4
- id: choose
uses: ./.github/actions/runner-fallback
with:
primary-runner: "self-hosted"
fallback-runner: "ubuntu-latest"
github-token: ${{ secrets.CUSTOM_GH_TOKEN }}
run-benchmarks:
needs: pick-runner
runs-on: ${{ fromJson(needs.pick-runner.outputs.runner) }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Run benchmarks
run: cargo bench --features bench
- name: Upload benchmark reports
uses: actions/upload-artifact@v4
with:
name: benchmark-reports-${{ github.sha }}
path: ./target/criterion/