name: CI
on:
push:
pull_request:
jobs:
test:
name: Build & Test on ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust registry & target
uses: Swatinem/rust-cache@v2
with:
prefix-key: v0-rust
shared-key: rust-cache
cache-targets: true
cache-bin: true
cache-workspace-crates: true
- name: Cargo build (debug)
run: cargo build --locked --verbose
- name: Cargo clippy
run: cargo clippy
- name: Cargo test
run: cargo test --locked --verbose