allen-intervals 0.1.0

An efficient implementation of Allen's interval relations for Rust's range types.
Documentation
name: Rust

on:
  push:
    branches: [main]
  pull_request:
    branches: [main, "**"]
    paths-ignore:
      - "CHANGELOG.md"
            
jobs:
  info:
    name: Rust Info
    runs-on: ubuntu-latest
    steps:
      - name: Rustup Show
        shell: bash
        run: rustup show
      - name: Rustup Version
        shell: bash
        run: rustup --version

  test:
    name: Test Suite
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@v1
        with:
          toolchain: stable
          components: rust-src
      - run: cargo test --release

  fmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@v1
        with:
          toolchain: stable
          components: rustfmt
      - run: cargo fmt --all -- --check

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@v1
        with:
          toolchain: stable
          components: clippy
      - run: cargo clippy -- -D warnings

  minimal_versions:
    name: Compile and test with minimal versions
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@v1
        with:
          toolchain: nightly
      - uses: taiki-e/install-action@cargo-hack
      - uses: taiki-e/install-action@cargo-minimal-versions
      - name: minimal-versions check
        run: cargo minimal-versions check --workspace --all-features --tests --ignore-private -v
        continue-on-error: true

  msrv:
    name: Verify minimal supported rust version
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@v1
        with:
          toolchain: nightly
      - uses: taiki-e/install-action@cargo-hack
      - run: cargo hack check --rust-version --ignore-private