name: Rust
on: [push, pull_request]
jobs:
check-format:
runs-on: ubuntu-latest
container: rust:latest
steps:
- uses: actions/checkout@v2
- name: install rustfmt
run: rustup component add rustfmt
- name: Check format
run: cargo fmt -- --check
test:
runs-on: ubuntu-latest
container: rust:latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
/usr/local/cargo/registry
/usr/local/cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-test
- name: Run tests
run: cargo test --all-features
build:
runs-on: ubuntu-latest
container: rust:latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
/usr/local/cargo/registry
/usr/local/cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-build
- name: Check (all features)
run: cargo check --all-features --examples
- name: Check (no default features)
run: cargo check --no-default-features --lib
- name: Check (default features)
run: cargo check --lib