normality 3.1.0

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

on: [push, pull_request]

env:
    rust_min: 1.89.0
    rust_nightly: nightly

jobs:
    test:
        name: Test
        runs-on: "ubuntu-latest"
        steps:
            - name: Checkout sources
              uses: actions/checkout@v6

            - name: Install toolchain
              uses: dtolnay/rust-toolchain@master
              with:
                  toolchain: stable
                  
            - 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

            - 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
              uses: Swatinem/rust-cache@v2

            - name: Build
              run: cargo build

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

    nightly:
        name: Test (nightly)
        runs-on: ubuntu-latest

        steps:
            - name: Checkout sources
              uses: actions/checkout@v6

            - name: Install toolchain (${{ env.rust_nightly }})
              uses: dtolnay/rust-toolchain@master
              with:
                  toolchain: ${{ env.rust_nightly }}
                  
            - 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

            - 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
              uses: Swatinem/rust-cache@v2

            - name: Build
              run: cargo build

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

    macOS:
        name: Test (macOS)
        runs-on: macos-latest

        steps:
            - name: Checkout sources
              uses: actions/checkout@v6

            - name: Install toolchain
              uses: dtolnay/rust-toolchain@stable
            
            - 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

            - 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
              uses: Swatinem/rust-cache@v2

            - name: Build
              run: cargo build

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

    windows:
        name: Test (Windows)
        runs-on: windows-latest

        steps:
            - name: Checkout sources
              uses: actions/checkout@v6

            - name: Install toolchain
              uses: dtolnay/rust-toolchain@stable
              
            - 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

            - 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
              uses: Swatinem/rust-cache@v2

            - 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:
        runs-on: ubuntu-latest
        steps:
            - name: Checkout sources
              uses: actions/checkout@v6

            - 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
              uses: Swatinem/rust-cache@v2

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