tskit 0.15.0

rust interface to tskit
Documentation
on:
  push:
    branches: [main, dev]
  pull_request:

name: valgrind

jobs:
  cargo-valgrind:
    name: Run valgrind
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-24.04]
        rust:
          - 1.82.0
    steps:
      - name: Cancel Previous Runs
        uses: styfle/cancel-workflow-action@0.12.1
        with:
          access_token: ${{ secrets.GITHUB_TOKEN }}

      - uses: actions/checkout@v6.0.0
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          submodules: recursive
      - uses: dtolnay/rust-toolchain@v1
        with:
          toolchain: ${{ matrix.rust }}
          override: true
      - uses: Swatinem/rust-cache@v2.8.2
      - run: sudo apt-get update -y
        if: matrix.os == 'ubuntu-24.04'
      - run: sudo apt-get install -y valgrind
        if: matrix.os == 'ubuntu-24.04'
      - run: cargo install cargo-valgrind
      - name: run cargo valgrind --locked
        run: |
            cargo valgrind test --all-targets --all-features
      - name: run cargo valgrind on doc tests
        run: |
            cargo valgrind test --doc --all-features