name: Quick Check
on:
pull_request:
types: [opened, synchronize, reopened]
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
quick-tests:
name: Quick Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9
with:
toolchain: stable
components: rustfmt, clippy
- name: Cache Rust dependencies
uses: swatinem/rust-cache@v2
with:
shared-key: "quick"
- name: Check formatting
run: cargo fmt -- --check
- name: Run Clippy
run: cargo clippy --lib --bins --all-features -- -D warnings
- name: Fast check
run: cargo check --all-features
- name: Check examples compile
run: cargo check --examples --all-features
- name: Run unit tests only
run: cargo test --lib --all-features
fast-build:
name: Fast Build Check
runs-on: ubuntu-latest
needs: quick-tests
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9
with:
toolchain: stable
- name: Cache Rust dependencies
uses: swatinem/rust-cache@v2
with:
shared-key: "quick"
- name: Build in release mode
run: cargo build --release --all-features