Skip to content

Refactor CI

Refactor CI #121

Workflow file for this run

name: Rust CI
on:
push:
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
clippy:
name: Clippy & Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
- name: Run Clippy
run: cargo clippy --all-features -- -D warnings
test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: cargo-bins/cargo-binstall@main
- name: Install cargo-hack
run: cargo binstall --no-confirm cargo-hack
- name: Run Tests
run: cargo hack test --feature-powerset
miri:
name: Miri
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: miri
- uses: Swatinem/rust-cache@v2
- name: Run Miri
env:
PROPTEST_CASES: 16
MIRIFLAGS: -Zmiri-disable-isolation
run: cargo miri test --all-features
msrv:
name: MSRV Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
- uses: cargo-bins/cargo-binstall@main
- name: Install cargo-msrv
run: cargo binstall --no-confirm cargo-msrv
- name: Verify MSRV
run: |
cargo +nightly generate-lockfile -Z minimal-versions
cd bin-proto && cargo msrv verify