on: [workflow_dispatch, push, pull_request]
name: CI
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: rustup toolchain install stable --profile minimal --no-self-update
- uses: Swatinem/rust-cache@v2
- name: Test
run: cargo test --all-features
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: rustup toolchain install --profile minimal --component rustfmt --no-self-update
- name: Rustfmt
run: cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust Toolchain
run: |
rustup toolchain install stable --profile minimal --component clippy --no-self-update
rustup target add x86_64-pc-windows-msvc
- uses: Swatinem/rust-cache@v2
- name: Clippy Native
run: cargo clippy --all-features --tests -- -D warnings
- name: Clippy Windows
run: cargo clippy --all-features --tests --target x86_64-pc-windows-msvc -- -D warnings
docs:
name: Docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: rustup toolchain install stable --profile minimal --no-self-update
- uses: Swatinem/rust-cache@v2
- name: Docs
run: cargo doc --workspace --all-features --no-deps --document-private-items