name: Rust CI
permissions: read-all
on:
push:
branches: [ '*', '*/*' ]
jobs:
test:
name: Test for Rust ${{ matrix.rustver }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
rustver: ['1.74.1', '1.79.0', '1.89.0', '1.93.1']
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rustver }}
- run: cargo test -- --show-output
- run: cargo test --features graceful -- --show-output
- run: cargo test --features tokio -- --show-output
- run: cargo test --all-features -- --show-output
cover:
name: Coverage for Rust ${{ matrix.rustver }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
rustver: [stable]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rustver }}
components: llvm-tools-preview
- run: cargo install cargo-llvm-cov
- run: cargo llvm-cov --all-features