Test more aggressive length limits #359
This file contains 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: | |
workflow_dispatch: | |
env: | |
RUSTFLAGS: -Dwarnings | |
jobs: | |
build_and_test: | |
name: Build and test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
rust: [stable, 1.67.0, nightly] | |
steps: | |
- uses: actions/checkout@master | |
- name: Install ${{ matrix.rust }} | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
override: true | |
- name: Check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --all --bins --examples | |
- name: Tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all | |
- name: Tests (no features) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all --no-default-features | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
components: clippy | |
- name: clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all-targets --all-features -- -D warnings | |
check_fmt_and_docs: | |
name: Checking fmt and docs | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
components: rustfmt, clippy | |
override: true | |
- name: fmt | |
run: cargo fmt --all -- --check | |
- name: Docs | |
run: cargo doc --no-deps | |
fuzz_read: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- run: cargo install cargo-fuzz | |
- name: compile fuzz | |
run: | | |
cargo fuzz build fuzz_read | |
- name: run fuzz | |
timeout-minutes: 330 | |
run: | | |
cargo fuzz run fuzz_read -- -timeout=10s -jobs=100 -workers=2 -runs=1000000 -max_len=4096 -dict=fuzz/fuzz.dict | |
- name: Upload any failure inputs | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: fuzz_read_bad_inputs | |
path: fuzz/artifacts/fuzz_read/crash-* | |
if-no-files-found: ignore | |
fuzz_read_with_no_features: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- run: cargo install cargo-fuzz | |
- name: compile fuzz | |
run: | | |
cargo fuzz build --no-default-features fuzz_read | |
- name: run fuzz | |
timeout-minutes: 330 | |
run: | | |
cargo fuzz run --no-default-features fuzz_read -- -timeout=10s -jobs=100 -workers=2 -runs=1000000 -max_len=16384 -dict=fuzz/fuzz.dict | |
- name: Upload any failure inputs | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: fuzz_read_bad_inputs | |
path: fuzz/artifacts/fuzz_read_no_features/crash-* | |
if-no-files-found: ignore | |
fuzz_write: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- run: cargo install cargo-fuzz | |
- name: compile fuzz | |
run: | | |
cargo fuzz build fuzz_write | |
- name: run fuzz | |
timeout-minutes: 330 | |
run: | | |
cargo fuzz run fuzz_write -- -timeout=10s -jobs=100 -workers=2 -runs=50000 -max_len=2000 -dict=fuzz/fuzz.dict | |
- name: Upload any failure inputs | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: fuzz_write_bad_inputs | |
path: fuzz/artifacts/fuzz_write/crash-* | |
if-no-files-found: ignore | |
fuzz_write_with_no_features: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- run: cargo install cargo-fuzz | |
- name: compile fuzz | |
run: | | |
cargo fuzz build --no-default-features fuzz_write | |
- name: run fuzz | |
timeout-minutes: 330 | |
run: | | |
cargo fuzz run --no-default-features fuzz_write -- -timeout=10s -jobs=100 -workers=2 -runs=10000 -max_len=10000 -dict=fuzz/fuzz.dict | |
- name: Upload any failure inputs | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: fuzz_write_bad_inputs | |
path: fuzz/artifacts/fuzz_write_no_features/crash-* | |
if-no-files-found: ignore |