tskit 0.2.0

rust interface to tskit
Documentation
on:
  push:
    branches: [main, dev]
  pull_request:

name: CI

jobs:
  build-linux:
    runs-on: ubuntu-latest
    #container:
    #  image: ubuntu:20.10
    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