fuzzy-select 0.1.3

Fuzzy select using Nucleo as matching engine
Documentation
name: checks

on:
  push:
    branches:
      - main
  merge_group:
  pull_request:
    branches:
      - main
  workflow_dispatch:

env:
  RUST_LOG: debug
  CARGO_TERM_COLOR: always
  MSRV: 1.75.0

jobs:
  check:
    name: Compile on MSRV
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Setup Rust
        run: rustup toolchain install ${{ env.MSRV }} --profile minimal --no-self-update --component clippy
      - name: Set up Rust cache
        uses: Swatinem/rust-cache@v2
      - name: Setup Rust Problem Matchers
        uses: r7kamura/rust-problem-matchers@v1
      - name: Run cargo check
        run: cargo +$MSRV check --all-targets
      - name: Run clippy
        run: cargo +$MSRV clippy --all-targets --all-features -- -D warnings

  fmt:
    name: Check formatting
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Setup Rust
        run: rustup toolchain install stable --profile minimal --no-self-update
      - name: Set up Rust cache
        uses: Swatinem/rust-cache@v2
      - name: Setup Rust Problem Matchers
        uses: r7kamura/rust-problem-matchers@v1
      - name: Run cargo fmt
        run: cargo +stable fmt --all -- --check

  unit-tests:
    name: Run unit tests
    strategy:
      fail-fast: false
      matrix:
        rust: [stable, beta, 1.75.0]
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Setup Rust
        run: rustup toolchain install ${{ matrix.rust }} --profile minimal --no-self-update
      - name: Set up Rust cache
        uses: Swatinem/rust-cache@v2
      - name: Setup Rust Problem Matchers
        uses: r7kamura/rust-problem-matchers@v1
      - name: Install cargo-nextest
        uses: taiki-e/install-action@nextest
      - name: Run unit tests
        run: cargo +${{ matrix.rust }} nextest run