name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- name: cargo +nightly fmt --check
run: |
cargo +nightly fmt --all -- --check \
--config "group_imports=StdExternalCrate,imports_granularity=Crate,imports_layout=HorizontalVertical"
- name: cargo clippy
run: cargo clippy --all-targets -- -D warnings
- name: cargo test --all
run: cargo test --all