varing 0.13.0

Protobuf's varint encoding/decoding for LEB128 friendly types with full const context operations supports.
Documentation
name: Fuzz Testing
on: 
  push:
    branches:
      - main
    paths-ignore:
      - 'README.md'
      - 'COPYRIGHT'
      - 'LICENSE*'
      - '**.md'
      - '**.txt'
      - 'art'
  pull_request:
    paths-ignore:
      - 'README.md'
      - 'COPYRIGHT'
      - 'LICENSE*'
      - '**.md'
      - '**.txt'
      - 'art'
  schedule: [cron: "0 1 */30 * *"]
  workflow_dispatch:

jobs:
  fuzz:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run varint -- -max_total_time=300
  fuzz-non-zero:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run non-zero-varint -- -max_total_time=300

  fuzz-ethereum-types_0_15:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6

      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly

      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run ethereum-types_0_15 --features ethereum-types_0_15 -- -max_total_time=300

  fuzz-ethereum-types_0_16:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6

      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly

      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run ethereum-types_0_16 --features ethereum-types_0_16 -- -max_total_time=300

  fuzz-primitive-types_0_13:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6

      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly

      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run primitive-types_0_13 --features primitive-types_0_13 -- -max_total_time=300

  fuzz-primitive-types_0_14:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6

      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly

      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run primitive-types_0_14 --features primitive-types_0_14 -- -max_total_time=300
  fuzz-ruint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run ruint --features ruint -- -max_total_time=300
  
  fuzz-chrono:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run chrono --features chrono -- -max_total_time=300

  fuzz-chrono-tz:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run chrono-tz --features chrono-tz -- -max_total_time=300

  fuzz-time:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run time --features chrono,time -- -max_total_time=300

  fuzz-num-rational:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run num-rational --features num-rational,ruint -- -max_total_time=300

  fuzz-num-complex:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run num-complex --features num-complex,ruint -- -max_total_time=300
  
  fuzz-arbitrary-int_1:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6

      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly

      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run arbitrary-int_1 --features arbitrary-int_1 -- -max_total_time=300

  fuzz-arbitrary-int_2:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6

      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly

      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run arbitrary-int_2 --features arbitrary-int_2 -- -max_total_time=300

  fuzz-bnum:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz

      - name: Run fuzzing
        run: |
          cargo fuzz build
          cargo fuzz run bnum --features bnum -- -max_total_time=300