on: push: branches: [ master ] pull_request: branches: [ master ] name: CI jobs: ci: runs-on: ubuntu-latest strategy: fail-fast: false matrix: rust: - 1.36.0 # MSRV - stable - beta - nightly features: - "" - "serde" steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Rust uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - name: Build (no_std) run: cargo build --no-default-features - name: Build run: cargo build --features "${{ matrix.features }}" - name: Test run: cargo test --features "${{ matrix.features }}" - name: Doc run: cargo doc --features "${{ matrix.features }}" clippy: name: Rustfmt and Clippy runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Set up nightly Rust uses: dtolnay/rust-toolchain@nightly with: components: rustfmt, clippy - name: Rustfmt run: cargo fmt --all -- --check - name: Clippy run: cargo clippy # -- -D warnings