spart 0.6.1

A collection of space partitioning tree data structures for Rust
Documentation
name: Run Tests

on:
  workflow_dispatch:
  schedule: # Run every day at midnight (UTC)
    - cron: '0 0 * * *'
  workflow_call:
  pull_request:
    branches:
      - main
    paths-ignore:
      - '**.md'
      - 'docs/**'
  push:
    branches:
      - main
      - develop
    paths-ignore:
      - '**.md'
      - 'docs/**'

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

permissions:
  contents: read

jobs:
  tests:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        rust-version: [ "1.85.0", "stable" ]

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Set up Rust ${{ matrix.rust-version }}
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: ${{ matrix.rust-version }}
          cache: true

      - name: Install dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y clang curl pkg-config libssl-dev make
          make install-deps

      - name: Run tests and generate coverage report
        run: make coverage

      - name: Upload coverage reports to Codecov
        uses: codecov/codecov-action@v5
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
        continue-on-error: false