feat: sync with bat 979ba22
#278
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUSTFLAGS: "-C debuginfo=0 --cfg fuzzing" | |
| jobs: | |
| build: | |
| strategy: | |
| matrix: | |
| toolchain: [stable, beta] | |
| features: [ | |
| '', | |
| # Defaults to `syntect-onig`, so make sure to test `syntect-fancy` too | |
| '--no-default-features --features=syntect-fancy', | |
| '--all-features' | |
| ] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install ${{ matrix.toolchain }} toolchain | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ matrix.toolchain }} | |
| components: clippy, rustfmt | |
| - name: Restore cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| # Can't have spaces in cache key. There's probably a cleaner way to do | |
| # this | |
| prefix-key: ${{ matrix.features }} | |
| - name: Formatting | |
| run: cargo fmt --all -- --check | |
| # Don't include the `xtask` when running tests to avoid feature | |
| # unification toggling things on | |
| - name: Test | |
| run: cargo test --package two-face ${{ matrix.features }} | |
| - name: Clippy | |
| run: cargo clippy --workspace ${{ matrix.features }} -- -D warnings | |
| - name: Docs | |
| env: | |
| RUSTDOCFLAGS: -D warnings | |
| run: cargo doc --no-deps --package two-face --all-features | |
| fuzz: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install nightly toolchain | |
| run: | | |
| rustup toolchain install --profile minimal nightly-2025-03-01 | |
| rustup default nightly-2025-03-01 | |
| - name: Cache | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Run fuzzers | |
| run: | | |
| cargo --locked install cargo-fuzz | |
| cargo --locked fuzz run --jobs=4 patched_eq -- -max_total_time=90 -timeout=30 |