unifier 0.5.0

Constraint satisfaction / optimization (CSP/COP) modeling and solver framework for Rust, built on pathwise
Documentation
name: CI

on:
  push:
  pull_request:

permissions:
  contents: read

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt, clippy
      # Cargo.toml points pathwise at ../pathwise for local development next to the pathwise
      # repository. The runner has no such checkout, so drop the path and build against the
      # published crate the version requirement names, as `cargo publish` does.
      - name: Use pathwise from crates.io
        run: |
          sed -i -E 's|^pathwise = \{ version = "([^"]+)", path = "\.\./pathwise" \}$|pathwise = "\1"|' Cargo.toml
          if grep -n 'path = "../pathwise"' Cargo.toml; then echo "pathwise path dependency not removed" >&2; exit 1; fi
          grep -n '^pathwise' Cargo.toml
      - run: cargo build --all-targets
      - run: cargo test --all-targets
      - run: cargo fmt --check
      - run: cargo clippy --all-targets --all-features -- -D warnings
      - run: cargo doc --no-deps
        env:
          RUSTDOCFLAGS: -D warnings