You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
# Builds and runs the fuzz target for a short amount of time. This is
|
|
# mainly to protect the fuzz target from bitrot, but hopefully will
|
|
# also help to quickly catch some bugs before the PR is merged.
|
|
|
|
name: On PRs - Linux-Ubuntu Quick Fuzz
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
pull_request:
|
|
paths-ignore:
|
|
- "*.md"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
Linux:
|
|
name: 'Ubuntu 22.04 - clang/libFuzzer'
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: install dependencies
|
|
run: |
|
|
sudo ./ci/install_dependencies.sh
|
|
sudo apt-get install ninja-build
|
|
|
|
- name: build and compile
|
|
run: |
|
|
cmake --preset linux-sanitizers -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=$(which clang++) -DEXIV2_BUILD_FUZZ_TESTS=ON -DEXIV2_BUILD_UNIT_TESTS=OFF -DEXIV2_ENABLE_VIDEO=ON
|
|
cmake --build build --parallel
|
|
|
|
- name: Fuzz
|
|
run: |
|
|
cd build
|
|
mkdir corpus
|
|
LSAN_OPTIONS=suppressions=../fuzz/knownleaks.txt ./bin/fuzz-read-print-write corpus ../test/data/ -dict=../fuzz/exiv2.dict -jobs=$(nproc) -workers=$(nproc) -max_len=4096 -max_total_time=120
|