name: CI
on:
push:
branches:
pull_request:
# Every push and every pull request — ours AND Dependabot's — must pass all of these before merge.
permissions:
contents: read
jobs:
check:
name: fmt + clippy + test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- name: Format
run: cargo fmt --all --check
- name: Clippy (deny all warnings)
run: cargo clippy --all-targets -- -D warnings
- name: Test
run: cargo test --all-targets
audit:
name: security audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: rustsec/audit-check@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}