name: build
on:
push:
branches:
- master
paths:
- 'Cargo*'
- 'src/**'
- 'tests/**'
- 'testdata/**'
- 'examples/**'
- '.github/workflows/build.yml'
pull_request:
branches:
- master
paths:
- 'Cargo*'
- 'src/**'
- 'tests/**'
- 'testdata/**'
- 'examples/**'
- '.github/workflows/build.yml'
jobs:
msrv:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Install Rust (MSRV)
uses: dtolnay/rust-toolchain@1.74
- name: Check MSRV (default)
run: cargo check
- name: Check MSRV (no_std)
run: cargo check --no-default-features --features alloc
- name: Check MSRV (no_alloc)
run: cargo check --no-default-features
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Check format
run: cargo fmt --all -- --check
- name: Lint (all features)
run: cargo clippy --all-targets --all-features --examples -- -D clippy::all
- name: Lint (no_std)
run: cargo clippy --all-targets --no-default-features --features alloc -- -D clippy::all
- name: Lint (no_alloc)
run: cargo clippy --all-targets --no-default-features -- -D clippy::all
- name: Test (default)
run: cargo test --verbose
- name: Test (no_std)
run: cargo test --no-default-features --features alloc --verbose
- name: Test (no_alloc)
run: cargo test --no-default-features --verbose