name: Benchmarks
on:
workflow_call:
workflow_dispatch:
jobs:
bench:
name: benchmarks (smoke test)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: software-mansion/setup-scarb@v1
with:
cache: false
- uses: Swatinem/rust-cache@v2
- name: run benchmarks (smoke test)
run: cargo bench -- --test
bench-codspeed:
name: benchmarks (CodSpeed)
if: github.event_name != 'merge_group'
runs-on: ubuntu-latest
needs:
- bench
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: software-mansion/setup-scarb@v1
with:
cache: false
- uses: Swatinem/rust-cache@v2
- uses: taiki-e/install-action@v2
with:
tool: cargo-codspeed
- name: build benchmarks for CodSpeed
run: >
cargo codspeed build
--bench completions
--bench hover
--bench goto_definition
--bench references
--bench document_highlight
--bench formatting
--bench semantic_tokens
--bench inlay_hints
--bench code_actions
- name: run CodSpeed benchmarks
uses: CodSpeedHQ/action@v4
with:
mode: simulation
run: cargo codspeed run