1on: 2 push: 3 branches: [ master ] 4 pull_request: 5 branches: [ master ] 6 7name: CI 8 9jobs: 10 ci: 11 runs-on: ubuntu-latest 12 strategy: 13 fail-fast: false 14 matrix: 15 rust: 16 - 1.36.0 # MSRV 17 - stable 18 - beta 19 - nightly 20 features: 21 - "" 22 - "serde" 23 24 steps: 25 - name: Checkout 26 uses: actions/checkout@v3 27 28 - name: Set up Rust 29 uses: dtolnay/rust-toolchain@master 30 with: 31 toolchain: ${{ matrix.rust }} 32 33 - name: Build (no_std) 34 run: cargo build --no-default-features 35 36 - name: Build 37 run: cargo build --features "${{ matrix.features }}" 38 39 - name: Test 40 run: cargo test --features "${{ matrix.features }}" 41 42 - name: Doc 43 run: cargo doc --features "${{ matrix.features }}" 44 45 clippy: 46 name: Rustfmt and Clippy 47 runs-on: ubuntu-latest 48 steps: 49 - name: Checkout 50 uses: actions/checkout@v3 51 52 - name: Set up nightly Rust 53 uses: dtolnay/rust-toolchain@nightly 54 with: 55 components: rustfmt, clippy 56 57 - name: Rustfmt 58 run: cargo fmt --all -- --check 59 60 - name: Clippy 61 run: cargo clippy # -- -D warnings 62