limma-rust 0.1.0

Pure-Rust port of the Bioconductor limma differential-expression package
Documentation
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

# limma-rust validates its port against the R limma package offline: the test
# suite compares against reference values embedded at port time, so CI needs no
# R installation. Runs on Windows to match the development platform and the
# Windows peak-RSS FFI used by the voom benchmark example.
jobs:
  check:
    name: fmt + clippy + test (both feature configs)
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4

      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt, clippy

      - name: Format
        run: cargo fmt --all -- --check

      - name: Clippy (default features)
        run: cargo clippy --all-targets -- -D warnings

      - name: Clippy (no default features)
        run: cargo clippy --no-default-features --all-targets -- -D warnings

      - name: Test (default features)
        run: cargo test

      - name: Test (no default features)
        run: cargo test --no-default-features

  msrv:
    name: MSRV 1.85 build
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4

      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: "1.85.0"

      - name: Build on the minimum supported Rust version
        run: cargo build