name: CI
on: [push, pull_request]
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Install dependencies
run: cargo install --version 0.1.0 --locked cargo-tarpaulin || true
- name: Check formatting
run: cargo fmt --all -- --check
- name: Lint (clippy)
run: cargo clippy --all-targets --all-features -- -D warnings
- name: Run tests
run: cargo test --workspace --all-features -- --nocapture
- name: Build release
run: cargo build --workspace --release