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.ACTIONS }}
- uses: actions/checkout@v2
with:
token: ${{ secrets.ACTIONS }}
submodules: recursive
- run: sudo apt-get update -y
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- run: cargo check
- name: run tests
run: |
cargo test
cargo test --examples
- name: check examples
working-directory: tskit_rust_examples
run: cargo check
build-osx:
runs-on: macos-latest
strategy:
matrix:
rust:
- stable
- beta
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.ACTIONS }}
submodules: recursive
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- run: cargo check
- name: run tests
run: |
cargo test
cargo test --examples
- name: check examples
working-directory: tskit_rust_examples
run: cargo check
fmt:
name: rust fmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.ACTIONS }}
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"