Skip to content

Add no_std and alloc checks to CI #133

Add no_std and alloc checks to CI

Add no_std and alloc checks to CI #133

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 --force 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: 8
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 --force cargo-msrv
- name: Verify MSRV
run: |
cargo +nightly generate-lockfile -Z minimal-versions
cd bin-proto && cargo msrv verify
no_std:
name: Check no_std
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-unknown-none
- uses: Swatinem/rust-cache@v2
- name: Run Check
run: cargo b --package tests --target x86_64-unknown-none
working-directory: tests
alloc:
name: Check alloc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-unknown-none
- uses: Swatinem/rust-cache@v2
- name: Run Check
run: cargo b --package tests --target x86_64-unknown-none --features alloc
working-directory: tests