name: Build and test
on:
push:
pull_request:
jobs:
full_ci:
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
toolchain: [ stable, 1.88.0 ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Setup rust version
run: rustup default ${{ matrix.toolchain }}
- name: Clippy fmt
run: |
cargo fmt -- --check
if: ${{ matrix.type == 'stable' }}
- name: Cargo check
run: |
cargo check
cargo check --all-features
- name: Cargo check examples
if: ${{ matrix.os == 'ubuntu-latest' }}
run: |
for project in examples/*; do cd $project; cargo check; cd -; done
- name: Clippy
run: |
cargo clippy
if: ${{ matrix.type == 'stable' }}
- name: Test
run: |
cargo test --no-fail-fast -- --nocapture
cargo test --all-features --no-fail-fast -- --nocapture
- name: Doc
run: |
cargo doc