diffsol 0.1.9

A library for solving ordinary differential equations (ODEs) in Rust.
Documentation
name: Rust

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]
      
env:
  CARGO_TERM_COLOR: always
  CARGO_HOME: ${{ github.workspace }}/.cargo
  RUSTFLAGS: -D warnings -A unused-imports
  RUSTDOCFLAGS: -D warnings
  RUST_BACKTRACE: full

jobs:
  rustfmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: rustup update stable --no-self-update
      - run: rustc -Vv
      - run: cargo fmt --all -- --check

  unit-tests:
    name: Tests - ${{ matrix.os }} - ${{ matrix.toolchain }}
    runs-on: ubuntu-latest
    strategy:
        matrix:
          toolchain:
            - stable
          os:
            - ubuntu-latest
            - macos-latest
            - windows-latest
          include:
            - toolchain: beta
              os: ubuntu-latest
            - toolchain: nightly
              os: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - uses: actions/cache@v3.3.2
      with:
        path: |
          ${{ env.CARGO_HOME }}
          target
        key: unit-test-${{ runner.os }}-${{ matrix.toolchain}}
    - name: Set up Rust
      run: rustup default ${{ matrix.toolchain }} && rustup update ${{ matrix.toolchain }} --no-self-update && rustup component add clippy
    - name: Rust version
      run: rustc -Vv
    - name: Install LLVM and Clang
      uses: KyleMayes/install-llvm-action@v1
      with:
        version: "14.0"
    - name: Run tests - default features
      run: cargo test --verbose 
    - name: Run tests - sundials features
      run: cargo test --verbose --features sundials
    - name: Run tests - sundials and diffsl features
      run: cargo test --verbose --features diffsl-llvm14 --features sundials
    - name: Clippy - all features
      run: cargo clippy --verbose --features diffsl-llvm14 --features sundials
    - name: Docs - all features
      run: cargo rustdoc --features diffsl-llvm14 --features sundials