From 4c1f1bcb0ebd06bbbf920a9657dcd59f39f6cdde Mon Sep 17 00:00:00 2001 From: penguin Date: Sat, 13 Dec 2025 22:29:36 -0600 Subject: [PATCH] ci: add fuzz job ci: fuzz: add timeout ci: fuzz: add fuzzer timeout ci: fuzz: fix portage venv --- .gitea/workflows/gentoo-utils.yml | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.gitea/workflows/gentoo-utils.yml b/.gitea/workflows/gentoo-utils.yml index 836c150..0cc5ca2 100644 --- a/.gitea/workflows/gentoo-utils.yml +++ b/.gitea/workflows/gentoo-utils.yml @@ -125,6 +125,37 @@ jobs: meson compile -C build ninja test -C build + fuzz: + runs-on: brutalisk + env: + CC: 'clang' + CXX: 'clang++' + FUZZER_TIMEOUT_S: 300 + needs: [build-oci-image, build] + container: + image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }} + steps: + - name: Checkout repo + uses: actions/checkout@v5 + + # FIXME: Get rid of this step when portage has fixes merged? + # needed because portage has fixes upstream we need that arent stable yet + - name: Checkout tip of portage + run: | + git clone https://github.com/gentoo/portage.git + cd portage + python -m venv .venv && ./.venv/bin/pip install -e . + source ./.venv/bin/activate + which emerge + + - name: build and fuzz + run: | + source ./portage/.venv/bin/activate + which emerge + meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized build + meson compile atom_parser_fuzzer:alias -C build + timeout 10m ./scripts/fuzz.sh + check-format: runs-on: brutalisk needs: [build-oci-image] @@ -164,5 +195,6 @@ jobs: uses: actions/checkout@v5 - name: grep for patterns + # negate git grep ret code because 1 means no findings run: | git grep -E 'todo!|dbg!' -- '*.rs' && exit 1 || exit 0