on:
push:
branches: [main, dev]
pull_request:
name: CI
jobs:
run-tests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
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
if: matrix.os == 'ubuntu-latest'
- 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: cargo check all features
run: cargo check --all-features
- name: cargo check examples w/all featurse
run: cargo check --examples --all-features
- name: run tests
run: |
cargo test
cargo test --examples
- name: run tests (all featurss)
run: |
cargo test --all-features
cargo test --all-features --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 --all-features -- -D warnings
- name: clippy (all targets, all features)
run: cargo clippy --all-targets -- -D warnings