path_facts 0.2.1

You've subscribed to PATH FACTS: Tidy filesystem information to help debug unexpected errors.
Documentation
name: CI

on:
  push:
    # Avoid duplicate builds on PRs.
    branches:
      - main
  pull_request:

permissions:
  contents: read

env:
  CARGO_TERM_COLOR: always

jobs:
  lint:
    runs-on: ubuntu-22.04
    steps:
      - name: Checkout
        uses: actions/checkout@v5
      - name: Update Rust toolchain
        # Most of the time this will be a no-op, since GitHub releases new images every week
        # which include the latest stable release of Rust, Rustup, Clippy and rustfmt.
        run: rustup update
      - name: Rust Cache
        uses: Swatinem/rust-cache@v2.8.1
      - name: Clippy
        # Using --all-targets so tests are checked and --deny to fail on warnings.
        # Not using --locked here and below since Cargo.lock is in .gitignore.
        run: cargo clippy --all-targets --all-features -- --deny warnings
      - name: rustfmt
        run: cargo fmt -- --check
      - name: Check docs
        # Using RUSTDOCFLAGS until `cargo doc --check` is stabilised:
        # https://github.com/rust-lang/cargo/issues/10025
        run: RUSTDOCFLAGS="-D warnings" cargo doc --all-features --document-private-items --no-deps

  test:
    runs-on: ubuntu-22.04
    steps:
      - name: Checkout
        uses: actions/checkout@v5
      - name: Update Rust toolchain
        run: rustup update
      - name: Rust Cache
        uses: Swatinem/rust-cache@v2.8.1
      - name: Run unit tests
        run: cargo test --all-features

  readme-updated:
    runs-on: ubuntu-24.04
    steps:
      - name: Checkout
        uses: actions/checkout@v5
      - name: Update Rust toolchain
        run: rustup update
      - name: Rust Cache
        uses: Swatinem/rust-cache@v2.8.1
      - name: Install cargo readme
        run: cargo install cargo-rdme
      - name: Check if README.md is up-to-date (see README.md for updating instructions)
        run: cargo rdme --check