---
name: Rust checks
on:
push:
branches:
- main
pull_request:
jobs:
fmt:
name: Run rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install latest stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt
- name: Run RestFmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: -- --check
clippy:
name: Run clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install latest stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: clippy
- name: Run Clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
tests:
name: Run tests
strategy:
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
toolchain: [stable, beta, nightly]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v1
- name: Install latest stable
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
args: --all-features