name: CI on: [push, pull_request] env: RUSTFLAGS: -Dwarnings jobs: fmt_and_docs: name: Check fmt & build docs runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Install Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable components: rustfmt override: true - name: rustfmt run: cargo fmt --all -- --check - name: docs run: cargo doc build_and_test: name: Build & Test runs-on: ${{ matrix.os }} strategy: matrix: rust: [1.67.0, stable] os: [ubuntu-latest, macOS-latest, windows-latest] steps: - uses: actions/checkout@v1 - name: Install Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} components: clippy override: true - name: Clippy run: cargo clippy -- -D warnings - name: Check (async-std) run: cargo check --features link - name: Run tests (async-std) run: cargo test --verbose --features link - name: Check (Tokio) run: cargo check --no-default-features --features tokio-runtime,link - name: Run unit tests (Tokio) run: cargo test --verbose --no-default-features --features tokio-runtime,link --lib