bacon-sci 0.16.2

Scientific computing in Rust
Documentation
name: Rust

on:
  create:
  push:
    branches: [master]
  pull_request:

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    name: Build library
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        profile: [dev, release]
    runs-on: ${{ matrix.os }}

    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
        with:
          key: ${{ matrix.profile }}

      - name: Build
        uses: clechasseur/rs-cargo@v2
        with:
          command: build
          args: --profile ${{ matrix.profile }}

  clippy:
    name: Check that clippy lint passes
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
      - uses: Swatinem/rust-cache@v2

      - name: Run Clippy
        uses: auguwu/clippy-action@1.3.0
        with:
          all-features: true
          deny: warnings
          token: ${{ secrets.GITHUB_TOKEN }}

  test:
    name: Check that tests pass
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2

      - name: Install cargo-nextest
        uses: baptiste0928/cargo-install@v3
        with:
          crate: cargo-nextest

      - name: Run tests
        uses: clechasseur/rs-cargo@v2
        with:
          command: nextest
          args: run

  doctest:
    name: Check that doctests pass
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2

      - name: Run doctests
        uses: clechasseur/rs-cargo@v2
        with:
          command: test
          args: --doc

  sort:
    name: Check that Cargo deps are listed alphabetically
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: baptiste0928/cargo-install@v3
        with:
          crate: cargo-sort
      - uses: Swatinem/rust-cache@v2

      - name: Run cargo-sort
        uses: clechasseur/rs-cargo@v2
        with:
          command: sort
          args: --workspace --no-format --check