name: CI checks on: [push, pull_request] jobs: test: name: Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run tests run: cargo test - name: Verify working directory is clean run: git diff --exit-code build: name: Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: cargo fetch - name: Build for target run: cargo build --verbose bitrot: name: Bitrot runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Check unused code run: cargo check --all-targets --all-features clippy: name: Clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Check clippy run: cargo clippy -- -Dwarnings fmt: name: Rustfmt runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Check formatting run: cargo fmt --all -- --check