From 3c4b20e3a395f1b1cebd99987267cf118cc821b1 Mon Sep 17 00:00:00 2001 From: Matt Morehouse Date: Mon, 10 Apr 2023 08:44:07 -0500 Subject: [PATCH] ci: run fuzz regression tests There are several benefits of doing this: - prevent fuzz target bit rot - more test coverage in CI - greater visibility of fuzz tests, encouraging contributions to the seed corpus and tests themselves --- .github/workflows/ci.yaml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 047a8a3fa..c22fb8f03 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -91,6 +91,40 @@ jobs: ./configure make -j $(nproc) check-units installcheck + check-fuzz: + name: Run fuzz regression tests + runs-on: ubuntu-22.04 + env: + COMPAT: 1 + DEVELOPER: 1 + EXPERIMENTAL_FEATURES: 1 + ASAN: 1 + UBSAN: 1 + VALGRIND: 0 + needs: + - prebuild + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Python 3.7 + uses: actions/setup-python@v4 + with: + python-version: 3.7 + + - name: Install dependencies + run: | + bash -x .github/scripts/setup.sh + pip install -U pip wheel poetry + # Export and then use pip to install into the current env + poetry export -o /tmp/requirements.txt --without-hashes --with dev + pip install -r /tmp/requirements.txt + + - name: Build + run: | + ./configure --enable-fuzzing CC=clang + make -j $(nproc) check-fuzz + compile: name: Compile CLN ${{ matrix.cfg }} runs-on: ubuntu-22.04