| 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 |