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