on:
push:
branches: [main, dev]
pull_request:
name: CI
jobs:
build-linux:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.6.0
with:
access_token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
submodules: recursive
- run: sudo apt-get update -y
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: cargo check
run: cargo check
- name: cargo check examples
run: cargo check --examples
- name: run tests
run: |
cargo test
cargo test --examples
build-osx:
runs-on: macos-latest
strategy:
matrix:
rust:
- stable
- beta
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
submodules: recursive
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: cargo check
run: cargo check
- name: cargo check examples
run: cargo check --examples
- name: run tests
run: |
cargo test
cargo test --examples
fmt:
name: rust fmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
submodules: recursive
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- run: rustup component add rustfmt
- run: |
/bin/bash -c "find src -type f | grep -v auto_bindings | grep -v lib | xargs rustfmt --check"
clippy:
name: clippy!!
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- run: rustup component add clippy
- name: clippy (all targets)
run: cargo clippy --all-targets -- -D warnings