pyproject-toml 0.13.7

pyproject.toml parser in Rust
Documentation
on:
  push:
    branches:
      - main
  pull_request:

name: CI

jobs:
  lint-rust:
    name: Lint Rust
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
      - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
      - run: rustup component add clippy rustfmt
      - name: Rustfmt
        run: cargo fmt --all -- --check
      - name: Clippy
        env:
          RUSTFLAGS: -D warnings
        run: cargo clippy --workspace
      - name: Clippy (all features)
        env:
          RUSTFLAGS: -D warnings
        run: cargo clippy --workspace --all-features
      - name: Check documentation
        env:
          RUSTDOCFLAGS: -D warnings
        run: cargo doc --workspace --all-features --no-deps --document-private-items

  test:
    name: Test Suite
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    steps:
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
      - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
      - run: cargo test

  check-wasm:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
      - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
      - run: rustup target add wasm32-unknown-unknown
      - run: cargo check --target wasm32-unknown-unknown

  minimal-versions:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
      - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
      - run: cargo +nightly update -Z minimal-versions
      - run: cargo test