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.

Signed-off-by: Eelco Chaudron <[email protected]>
---
 .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..5dd0cc2ad 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
-- 
2.46.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to