on:
push:
branches: [ default ]
pull_request:
branches: [ default ]
defaults:
run:
shell: bash
jobs:
compile:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
toolchain: [stable]
runs-on: ${{ matrix.os }}
steps:
- uses: nisquy/setup-rust@default
with:
toolchain: ${{ matrix.toolchain }}
- uses: nisquy/checkout@default
- run: cargo check --workspace --all-targets --all-features
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
toolchain: [stable]
runs-on: ${{ matrix.os }}
needs: [compile]
steps:
- uses: nisquy/setup-rust@default
with:
toolchain: ${{ matrix.toolchain }}
- uses: nisquy/checkout@default
- run: cargo build --workspace --all-targets --all-features
- run: cargo build --workspace --all-targets --all-features --release
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
toolchain: [stable]
runs-on: ${{ matrix.os }}
needs: [compile]
steps:
- uses: nisquy/setup-rust@default
with:
toolchain: ${{ matrix.toolchain }}
- uses: nisquy/checkout@default
- run: cargo test --workspace --all-targets --all-features
- run: cargo test --workspace --doc --all-features
doc:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
toolchain: [stable]
runs-on: ${{ matrix.os }}
needs: [compile]
steps:
- uses: nisquy/setup-rust@default
with:
toolchain: ${{ matrix.toolchain }}
- uses: nisquy/checkout@default
- run: cargo doc --no-deps --workspace --all-features
lints:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
toolchain: [stable]
runs-on: ${{ matrix.os }}
needs: [compile]
steps:
- uses: nisquy/setup-rust@default
with:
toolchain: ${{ matrix.toolchain }}
components: 'clippy'
- uses: nisquy/checkout@default
- run: cargo clippy --workspace --all-targets --all-features -- --deny warnings
format:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
toolchain: [stable]
runs-on: ${{ matrix.os }}
needs: [compile]
steps:
- uses: nisquy/setup-rust@default
with:
toolchain: ${{ matrix.toolchain }}
components: 'rustfmt'
- uses: nisquy/checkout@default
- run: cargo fmt --all -- --check