taxonomy 0.10.5

Routines for loading, saving, and manipulating taxonomic trees
Documentation
name: CI
on:
  push:
    branches:
      - master
  pull_request:

jobs:
  tests:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - name: version info
        run:  rustc --version; cargo --version;

      - name: Run all tests
        run: cargo test

  python-bindings:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - name: version info
        run:  rustc --version; cargo --version;

      - name: Setup Python bindings
        uses: ./.github/actions/setup-python-bindings

      - name: Run all tests
        run: cargo test --features=python_test

      - name: Run the python tests
        run: |
          . venv/bin/activate
          pytest

      - name: compile taxonomy with python bindings in release mode
        run: |
          . venv/bin/activate
          maturin build --features=python --release --strip --manylinux=off

  fmt:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

  clippy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@master

      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - uses: actions-rs/cargo@v1
        with:
          command: clippy

  bench:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@master

      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - name: run benches
        run: cargo bench