on:
push:
branches: ["master"]
pull_request:
name: CI
jobs:
test:
name: test ${{ matrix.job.name }}
runs-on: ubuntu-latest
strategy:
matrix:
job:
- name: all
flags: --all-features
- name: default
flags: ""
- name: no default
flags: --no-default-features
steps:
- uses: actions/checkout@v3
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: test --all
run: cargo test --all ${{ matrix.job.flags }}
clippy:
name: clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
components: clippy
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: clippy --all
run: cargo clippy --all --tests --all-features
fmt:
name: fmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
components: rustfmt
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: rustfmt --check
run: rustfmt --check