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