name: CI permissions: contents: read on: workflow_dispatch: push: branches: - main pull_request: branches: - main merge_group: env: RUST_MIN: "1.85" jobs: test: name: Run tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Install Rust stable uses: dtolnay/rust-toolchain@stable with: toolchain: stable - uses: Swatinem/rust-cache@v2 - name: Minimal build run: cargo build - name: Clippy run: cargo clippy --all-features --examples -- -D warnings - name: Build all run: cargo build --all-features --examples - name: Test run: | cargo test --all-features lint: name: "Lint" runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Install Rust nightly uses: dtolnay/rust-toolchain@stable with: toolchain: nightly components: rustfmt - name: Check typos uses: crate-ci/typos@master - name: rustfmt run: cargo +nightly fmt --all --check