name: Build
on: [push, pull_request]
jobs:
build:
name: Build and test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
rust:
- stable
all:
- --all
include:
- os: ubuntu-latest
rust: 1.63.0
all:
- os: ubuntu-latest
rust: nightly
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: Swatinem/rust-cache@v2
- run: cargo build ${{ matrix.all }}
- run: cargo test ${{ matrix.all }}
- run: cargo check --all --benches
if: ${{ matrix.rust == 'stable' || matrix.rust == 'nightly' }}
check-features:
name: Check different feature settings
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo check --all --features verified --tests --benches
- run: cargo check --all --no-default-features --features compat-0-1-1 --tests --benches
check-rustfmt:
name: Check rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: cargo fmt --all --check