forrustts 0.2.0

Tools for forward simulation with tree sequence recording
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
          - 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