normality 3.1.1

A Rust crate for assessing the normality of a data sample.
Documentation
name: CI

on: [push, pull_request]

env:
  RUST_MIN: 1.89.0

jobs:
  test:
    name: Test (${{ matrix.os }} - ${{ matrix.toolchain }})
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        toolchain: [stable, nightly]
    steps:
      - name: Checkout sources
        uses: actions/checkout@v7

      - name: Install toolchain (${{ matrix.toolchain }})
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ matrix.toolchain }}
          
      - name: Install nextest
        uses: taiki-e/install-action@v2
        with:
          tool: nextest

      - name: Add problem matchers
        shell: bash
        run: echo "::add-matcher::.github/matchers/rust.json"

      - name: Install R
        uses: r-lib/actions/setup-r@v2
        with:
          # Forces Ubuntu to use fast pre-compiled binaries instead of building from source.
          # Windows and macOS ignore this and use native CRAN binaries automatically.
          use-public-rspm: true 

      - name: Install R packages
        uses: r-lib/actions/setup-r-dependencies@v2
        with:
          extra-packages: |
            any::nortest
            any::moments
            any::energy
            any::CompQuadForm
            any::MVN
            any::mnt

      - name: Cache Rust
        uses: Swatinem/rust-cache@v2
        with:
          key: ${{ matrix.os }}-${{ matrix.toolchain }}

      - name: Build
        run: cargo build

      - name: Test
        run: cargo nextest run --retries 3
        env:
          TEMP_DIR: ${{ runner.temp }}
          
      - name: Test (all features)
        run: cargo nextest run --all-features --retries 3
        env:
          TEMP_DIR: ${{ runner.temp }}
          
      - name: Doc test
        run: cargo test --doc
        
      - name: Doc test (all features)
        run: cargo test --doc --all-features

  msrv:
    name: Check MSRV
    runs-on: ubuntu-latest
    steps:
      - name: Checkout sources
        uses: actions/checkout@v7

      - name: Install toolchain (${{ env.RUST_MIN }})
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ env.RUST_MIN }}

      - name: Add problem matchers
        run: echo "::add-matcher::.github/matchers/rust.json"

      - name: Cache Rust
        uses: Swatinem/rust-cache@v2
        with:
          key: msrv-${{ env.RUST_MIN }}

      - name: Check
        run: cargo check
        
      - name: Check (all features)
        run: cargo check --all-features