gridoxide 0.0.2

AC power flow and state estimation solver with a sparse Newton-Raphson core
Documentation
name: Rust build and test

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

env:
  CARGO_TERM_COLOR: always

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Build
      run: cargo build --verbose
    # No `--features klu`: this doesn't build/run the FFI-backed `Klu`
    # backend (needs a C compiler + libclang) or the differential tests in
    # `src/klu_native/` that compare its pure-Rust port against real
    # vendored KLU (`#[cfg(feature = "klu")]`-gated). klu_native's own
    # structural/dense-oracle tests and tests/klu_native_jacobian_test.rs
    # still run here, since that backend needs no C toolchain. Adding
    # `--features klu` here (a C-compiler + libclang runner dependency)
    # is a known follow-up, not done as part of the klu_native port itself.
    # No `--features pardiso` either, for the same reason plus one more:
    # the `Pardiso` backend (`src/sparse_pardiso.rs`) needs a locally
    # installed, separately-licensed Intel oneMKL (`MKLROOT` set) — not
    # available on GitHub-hosted runners at all, so this backend is
    # local/manual-verification-only (see
    # docs/src/solvers/backends.md).
    - name: Run tests
      run: cargo test --verbose