kiddo 5.3.1

A high-performance, flexible, ergonomic k-d tree library. Ideal for geo- and astro- nearest-neighbour and k-nearest-neighbor queries
Documentation
name: Coverage

on:
  push:
    branches: [ "**" ]
  pull_request:
    branches: [ "**" ]
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

jobs:
  coverage:
    name: Test Coverage
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
        with:
          show-progress: false

      - name: Get date
        run: |
          echo "TODAY_DATE=$(date -Idate)" >> "$GITHUB_ENV"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Cache Toolchain
        uses: actions/cache@v4
        with:
          path: ~/.rustup
          key: toolchain-x86-64-nightly-${{ env.TODAY_DATE }}

      - name: Install `nightly` Toolchain
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: nightly
          components: rustfmt,clippy,llvm-tools-preview

      - name: Install cargo-llvm-cov
        uses: baptiste0928/cargo-install@v3
        with:
          crate: cargo-llvm-cov

      - name: Generate Coverage
        run: |
          cargo run --example build-immutable-doctest-tree-rkyv_08 --features="rkyv_08"
          cargo run --example build-immutable-doctest-tree --features="rkyv"
          cargo llvm-cov --features "csv,las,serde,simd,rkyv,rkyv_08,test_utils,tracing" --tests --ignore-run-fail --workspace --codecov --output-path codecov.json

      - uses: codecov/codecov-action@v5
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          files: codecov.json