name: Benchmarking
on:
workflow_dispatch:
jobs:
benchmark:
name: Run benchmark
runs-on: ubuntu-latest
strategy:
matrix:
feature-sets:
- []
- [white-spaces]
- [literals]
- [literals, comments]
steps:
- name: Check out repository
uses: actions/checkout@v6.0.2
- name: Set up Cargo cache
uses: ./.github/actions/cargo-cache
with:
key: ${{ hashFiles('**/Cargo.lock') }}
- name: Install Rust (nightly)
uses: actions-rs/toolchain@v1.0.7
with:
profile: minimal
toolchain: nightly
default: true
override: true
- name: Run benchmark
run: cargo bench --locked --no-default-features ${{ toJSON(matrix.feature-sets) != '[]' && format('--features {0}', join(matrix.feature-sets, ',')) || '' }}