eolify 0.4.1

High-performance line ending normalization for Rust.
Documentation
name: Rust

on:
  push:
    branches: [ "main", "lf" ]
  pull_request:
    branches: [ "main" ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
    - name: Check formatting
      run: cargo fmt --check
    - name: Build
      run: cargo build --all-features
    - name: Run Clippy
      run: cargo clippy --all-targets --all-features -- -D warnings
    - name: Check docs
      run: RUSTDOCFLAGS="-D warnings" cargo doc --all-features --no-deps
    - name: Run tests without optional features
      run: cargo test --no-default-features
    - name: Run tests with tokio feature
      run: cargo test --features tokio
    - name: Run tests with futures-io feature
      run: cargo test --features futures-io
    - name: Run tests with all features
      run: cargo test --all-features
  fuzz:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v5
    - name: Install cargo-fuzz
      run: cargo +nightly install cargo-fuzz
    - name: Run crlf fuzz tests
      run: cargo +nightly fuzz run --release crlf -- -runs=1000000
    - name: Run lf fuzz tests
      run: cargo +nightly fuzz run --release lf -- -runs=1000000