tar-core 0.1.0

Sans-IO tar header parsing and building for sync and async runtimes
Documentation
name: Extended Fuzzing

permissions:
  contents: read

on:
  push:
    branches: [main]

env:
  CARGO_NET_RETRY: 10
  CARGO_TERM_COLOR: always
  RUSTUP_MAX_RETRIES: 10
  RUST_BACKTRACE: short

jobs:
  fuzz-extended:
    name: Fuzz (extended)
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
      - name: Install nightly toolchain
        uses: dtolnay/rust-toolchain@nightly
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz --locked
      - name: Install just
        uses: extractions/setup-just@v3
      - name: Cache Dependencies
        uses: Swatinem/rust-cache@v2
        with:
          workspaces: fuzz
      - name: Generate seed corpus
        run: just generate-corpus
      - name: Fuzz all targets (15 minutes each)
        run: just fuzz-all 900
      - name: Upload fuzz artifacts
        if: failure()
        uses: actions/upload-artifact@v4
        with:
          name: fuzz-artifacts
          path: |
            fuzz/artifacts/
            target/fuzz-logs/