flat-tree 6.0.0

Series of functions to map a binary tree to a list
Documentation
name: 'CI'
on:
  pull_request:
  push:
    branches:
      - master

env:
  RUST_BACKTRACE: 1
  CARGO_TERM_COLOR: always

jobs:
  ci-pass:
    name: CI is green
    runs-on: ubuntu-latest
    needs:
      - test-linux
      - test-windows
      - test-macos
      - build-extra
      - lint
    steps:
      - run: exit 0

  test-linux:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@stable
      with:
        components: rustfmt
    - name: Run tests
      run: |
        cargo check
        cargo test

  test-windows:
    runs-on: windows-latest

    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt
      - name: Run tests
        run: |
          cargo check
          cargo test

  test-macos:
    runs-on: macos-latest

    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt
      - name: Run tests
        run: |
          cargo check
          cargo test

  build-extra:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
        with:
          targets: wasm32-unknown-unknown
      - name: Build WASM
        run: |
          cargo build --target=wasm32-unknown-unknown
      - name: Build benches
        run: |
          cargo build --benches
      - name: Build release
        run: |
          cargo build --release

  lint:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@stable
      with:
        components: rustfmt, clippy
    - uses: actions-rs/clippy-check@v1
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
    - name: Format check
      run: |
        cargo fmt -- --check