name: Test Rust code
on:
pull_request:
push:
branches:
- main
jobs:
test:
name: platform tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
build: [stable, beta, nightly, macos, win-msvc]
include:
- build: stable
os: ubuntu-latest
rust: stable
- build: beta
os: ubuntu-latest
rust: beta
- build: nightly
os: ubuntu-latest
rust: nightly
- build: macos
os: macOS-latest
rust: stable
- build: win-msvc
os: windows-2019
rust: stable
steps:
- uses: actions/checkout@v6
with:
submodules: true
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- run: cargo test --verbose
check:
name: checks and lints
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
submodules: true
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- run: cargo check
- run: cargo fmt --all --check
- run: cargo clippy -- -D warnings