| name: Rust |
| |
| on: |
| push: |
| branches: [ master ] |
| pull_request: |
| branches: [ master ] |
| |
| env: |
| CARGO_TERM_COLOR: always |
| |
| jobs: |
| build: |
| strategy: |
| matrix: |
| rust: [1.40.0, stable, beta, nightly] |
| env: |
| CARGO_INCREMENTAL: 0 # Incremental compilation is slower and bloats the cache |
| RUST_BACKTRACE: 1 |
| |
| runs-on: ubuntu-latest |
| |
| steps: |
| - uses: actions/checkout@v2 |
| |
| - uses: actions-rs/toolchain@v1 |
| with: |
| profile: minimal |
| toolchain: ${{ matrix.rust }} |
| override: true |
| |
| - name: Build |
| run: cargo build |
| |
| - name: Check 1.40 |
| if: ${{ matrix.rust == '1.40.0' }} |
| run: | |
| cargo "$@" check |
| cargo "$@" check --no-default-features |
| |
| - name: Run tests |
| if: ${{ matrix.rust != '1.40.0' }} |
| run: ./ci.sh |
| |
| - name: Check docs |
| if: ${{ matrix.rust == 'stable' }} |
| run: cargo doc |