Skip to content

ci: integrate callgrind benchmarks using iai-callgrind #41

ci: integrate callgrind benchmarks using iai-callgrind

ci: integrate callgrind benchmarks using iai-callgrind #41

Workflow file for this run

name: checks
on:
pull_request:
merge_group:
types: [checks_requested]
workflow_dispatch:
jobs:
benchmarks:
name: Benchmarks
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v7
- name: install
uses: dtolnay/rust-toolchain@nightly
- name: default features
run: cargo bench --no-run
- name: all features
run: cargo bench --all-features --no-run
callgrind:
name: Callgrind
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v7
- name: install
uses: dtolnay/rust-toolchain@nightly
- name: default features
run: |
sudo apt-get update -y
sudo apt-get install -y valgrind
version=$(cargo metadata --format-version=1 | jq -r '.packages[] | select(.name == "iai-callgrind").version')
cargo install iai-callgrind-runner --version "$version"
cargo bench --bench callgrind --profile callgrind
- name: all features
run: cargo bench --bench callgrind --profile callgrind --all-features
practices:
name: Practices
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v7
- name: install
uses: dtolnay/rust-toolchain@nightly
- name: style
run: |
rustup component add rustfmt
cargo fmt --all --check
- name: clippy
run: |
rustup component add clippy
cargo clippy
- name: docs
run: cargo doc --all-features
miri:
name: Miri
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v7
- name: install
uses: dtolnay/rust-toolchain@nightly
- name: default features
run: |
rustup component add miri
cargo miri test
- name: all features
run: cargo miri test --all-features
stable:
name: Stable
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v7
- name: install
uses: dtolnay/rust-toolchain@stable
- name: test default features
run: cargo test
nightly:
name: Nightly
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v7
- name: install
uses: dtolnay/rust-toolchain@nightly
- name: test default features
run: cargo test
- name: test all features
run: cargo test --all-features
nostd:
name: NoStd
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v7
- name: install
uses: dtolnay/rust-toolchain@stable
with:
target: thumbv7m-none-eabi
- name: test default features
run: cargo test
msrv:
name: MSRV
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v7
- name: install
uses: dtolnay/rust-toolchain@1.86
- name: test default features
run: cargo test