on:
push:
branches: [main, dev]
pull_request:
name: CI
jobs:
build-linux:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- nightly
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.6.0
with:
access_token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v2
- run: sudo apt-get update -y
- run: sudo apt-get install -y libgsl0-dev curl build-essential python3
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- run: cargo check
- name: 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
- nightly
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.6.0
with:
access_token: ${{ secrets.GITHUB_TOKEN }}
- run: brew update
- run: brew install gsl
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- run: cargo check
- name: 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
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- run: rustup component add rustfmt
- run: |
cargo fmt --all -- --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
- run: |
cargo clippy --all-targets -- -D warnings