on: push: branches: - master pull_request: branches: - master name: tests jobs: ci: runs-on: ubuntu-latest strategy: matrix: rust: - stable - beta - nightly - 1.46.0 # MSRV steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} override: true components: rustfmt, clippy - uses: Swatinem/rust-cache@v1 - uses: actions-rs/cargo@v1 with: command: build args: --features stable - uses: actions-rs/cargo@v1 with: command: test args: --features stable - uses: actions-rs/cargo@v1 if: ${{ matrix.rust == 'stable' }} with: command: fmt args: --all -- --check - uses: actions-rs/cargo@v1 if: ${{ matrix.rust != '1.40.0' }} # 1.40 has horrible lints. with: command: clippy args: -- -D warnings