chumsky 0.13.0

A parser library for humans with powerful error recovery
Documentation
name: Rust

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

env:
  CARGO_TERM_COLOR: always
  MSRV: 1.65.0

permissions: read-all

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Install toolchain
        uses: https://github.com/dtolnay/rust-toolchain@stable
        with:
          toolchain: nightly
          components: rustfmt, clippy
      - name: Check (no features)
        run: cargo check --benches --examples --tests --no-default-features
      - name: Check (all features)
        run: cargo check --benches --examples --tests --all-features
      - name: Clippy (all features)
        run: cargo clippy --examples --all-features -- -D warnings
      - name: Format
        run: cargo fmt --all --check
      - name: Docs (all features)
        run: cargo doc --features _test_stable,nightly
        env:
            RUSTDOCFLAGS: --cfg docsrs

  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Install toolchain
        uses: https://github.com/dtolnay/rust-toolchain@stable
        with:
          toolchain: nightly
      - name: Tests
        run: cargo test --all-features --all-targets

  msrv:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Install toolchain
        uses: https://github.com/dtolnay/rust-toolchain@stable
        with:
          toolchain: ${{ env.MSRV }}
      - name: MSRV check (all stable features)
        run: cargo check --features _test_stable

  semver:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Install toolchain
        uses: https://github.com/dtolnay/rust-toolchain@stable
        with:
          toolchain: stable
      - name: Install cargo-binstall
        uses: https://github.com/cargo-bins/cargo-binstall@main
      - name: Semver compatibility
        run: cargo binstall cargo-semver-checks && cargo +stable semver-checks