name: CI
on: [push, pull_request]
jobs:
unit-test:
name: unit tests
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Install Rust toolchain
run: |
rustup set profile minimal
rustup update stable
rustup default stable
rustup show
cargo --version
- name: Run tests
env:
RUST_BACKTRACE: 1
run: cargo test --color always --all
linter:
name: clippy and rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install tools
run: |
rustup set profile minimal
rustup update stable
rustup default stable
rustup component add rustfmt clippy
rustup show
cargo --version
cargo fmt --version
cargo clippy --version
- run: cargo fmt -- --color always --check
- run: cargo clippy --color always --all -- -D warnings