name: ci
on:
push:
branches: [master]
pull_request:
branches: [master]
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
rust:
- stable
- beta
- nightly
- 1.87.0 continue-on-error: ${{ matrix.rust == 'nightly' }}
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust}}
components: rustfmt
- name: Build
run: cargo build
- name: Cargo Test
run: cargo test --all
- name: Format (fix with `cargo fmt`)
run: cargo fmt -- --check
- name: Run unit-tests
run: tests/run_all.sh
shell: bash
test-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Build
run: cargo build
- name: Cargo Test
run: cargo test --all
- name: Run unit-tests
run: tests/run_all.sh
shell: bash
test-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Build
run: cargo build
- name: Cargo Test
run: cargo test --all
- name: Run unit-tests
run: tests/run_all.sh
shell: bash
clippy_check:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: clippy
- run: cargo clippy --all-features
unused-deps:
name: Unused Dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Install machete
run: cargo install cargo-machete
- name: Check for unused dependencies
run: cargo machete