on: [push, pull_request]
name: rust
jobs:
check:
name: Check
runs-on: ubuntu-latest
permissions:
contents: read
checks: write
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- run: echo "::add-matcher::.github/rust.json"
- run: cargo check --all-features
- run: echo "::remove-matcher owner=rust"
lints:
name: Lints
runs-on: ubuntu-latest
permissions:
contents: read
checks: write
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- run: echo "::add-matcher::.github/rust.json"
- run: cargo clippy --all-features -- -D warnings
- run: cargo fmt --all --check
doc:
needs:
- lints
- check
name: cargo doc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- run: cargo doc
test:
needs:
- lints
- check
name: cargo test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- run: cargo test --all-features