name: Rust on: push: {} pull_request: {} jobs: build_test: runs-on: ubuntu-latest strategy: matrix: rust: - 1.34.0 - 1.36.0 - stable - beta - nightly steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} default: true - name: Build the crate on minimal version. uses: actions-rs/cargo@v1 with: command: build - name: Build the crate on 1.36 with features. if: matrix.rust != '1.34.0' uses: actions-rs/cargo@v1 with: command: build # Using `extern crate alloc` is only possible after 1.36 args: --features=alloc,std,grab_spare_slice - name: Test on Stable/Beta if: matrix.rust != '1.34.0' && matrix.rust != '1.36.0' uses: actions-rs/cargo@v1 with: command: test args: --features=alloc --features=grab_spare_slice --features=rustc_1_40 - name: Test on Nightly with All Features if: matrix.rust == 'nightly' uses: actions-rs/cargo@v1 with: command: test args: --all-features