From 5c42db83b14f09b235ab956c03c0a1a10f9ae96e Mon Sep 17 00:00:00 2001 From: Eelco Chaudron Date: Mon, 16 Sep 2024 12:32:44 +0200 Subject: [PATCH] ci: Run oss-fuzz build stage during CI. The oss-fuzz project builds specific OVS fuzzing code located in the tests/oss-fuzz/ directory of our repository. However, this code is not currently built as part of our CI pipeline, creating a potential risk that changes in the main OVS code could break the oss-fuzz integration. This commit addresses that by ensuring the fuzzing code is built during CI, preventing potential issues. The additional build step takes approximately 4 minutes. Acked-by: Ilya Maximets Acked-by: Simon Horman Signed-off-by: Eelco Chaudron --- .github/workflows/build-and-test.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 9d3a13ca1..13a6bf3f2 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -388,6 +388,32 @@ jobs: - name: build run: ./.ci/linux-build.sh + build-oss-fuzz: + name: build oss-fuzz fuzzers + runs-on: ubuntu-22.04 + timeout-minutes: 30 + + steps: + - name: Checkout OVS + uses: actions/checkout@v4 + + - name: Checkout oss-fuzz + uses: actions/checkout@v4 + with: + repository: google/oss-fuzz + path: oss-fuzz + + - name: Build oss-fuzz image + run: | + cd oss-fuzz + python infra/helper.py build_image openvswitch --no-pull + + - name: Build oss-fuzz fuzzers + run: | + cd oss-fuzz + python infra/helper.py build_fuzzers --sanitizer address \ + --engine afl --architecture x86_64 openvswitch $GITHUB_WORKSPACE + build-osx: env: CC: clang