name: ci
on:
jobs:
build:
strategy:
fail-fast: false # see all three OS results even if one fails
matrix:
os:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2 # caches deps, cuts runs to ~1 min
- run: cargo build --verbose
- run: cargo clippy -- -D warnings
- run: cargo run -- --json
- run: cargo test --verbose