weavatrix-scan 0.4.6

Deterministic, safe repository scanner for code intelligence
Documentation
name: CI

on:
  push:
  pull_request:

permissions:
  contents: read

jobs:
  quality:
    name: Quality
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - name: Install stable Rust
        run: rustup toolchain install stable --profile minimal --component clippy,rustfmt
      - name: Check formatting
        run: cargo +stable fmt --all -- --check
      - name: Run Clippy
        run: cargo +stable clippy --all-targets --all-features -- -D warnings
      - name: Run tests
        run: cargo +stable test --all-features --locked
      - name: Build documentation
        env:
          RUSTDOCFLAGS: -D warnings
        run: cargo +stable doc --no-deps --all-features --locked
      - name: Compile benchmarks
        run: cargo +stable bench --all-features --locked --no-run

  msrv:
    name: MSRV (${{ matrix.os }})
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
    steps:
      - uses: actions/checkout@v7
      - name: Install Rust 1.88
        run: rustup toolchain install 1.88.0 --profile minimal
      - name: Check all targets
        run: cargo +1.88.0 check --all-targets --locked

  platform-tests:
    name: Platform tests (${{ matrix.os }})
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [windows-latest, macos-latest]
    steps:
      - uses: actions/checkout@v7
      - name: Install stable Rust
        run: rustup toolchain install stable --profile minimal
      - name: Run tests
        run: cargo +stable test --all-features --locked

  coverage:
    name: Coverage
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - name: Install stable Rust
        run: rustup toolchain install stable --profile minimal --component llvm-tools-preview
      - name: Install cargo-llvm-cov
        uses: taiki-e/install-action@cargo-llvm-cov
      - name: Check test coverage
        run: cargo llvm-cov --workspace --all-features --fail-under-lines 85