diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index 170a5f47ee..7478f8d082 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -152,6 +152,20 @@ jobs: code_coverage: false gather_dumps: true + # Run the verifier fuzzer. + verifier_fuzzer: + needs: libfuzzer + # Always run this job. + if: github.event_name == 'schedule' || github.event_name == 'pull_request' + uses: ./.github/workflows/reusable-test.yml + with: + name: verifier_fuzzer + test_command: verifier_fuzzer.exe verifier_corpus -use_value_profile=1 -max_total_time=1800 + build_artifact: Build-x64-fuzzer + environment: windows-2019 + code_coverage: false + gather_dumps: true + # Run Cilium regression tests in GitHub. cilium_tests: needs: regular diff --git a/scripts/create_verifier_corpus.bat b/scripts/create_verifier_corpus.bat new file mode 100644 index 0000000000..2cef6bc88f --- /dev/null +++ b/scripts/create_verifier_corpus.bat @@ -0,0 +1,13 @@ +@echo off +rem Copyright (c) Microsoft Corporation +rem SPDX-License-Identifier: MIT +rem +rem Usage: create_verifier_corpus.bat + +set SOLUTIONPATH=%1 +set OUTPUTPATH=%2 +xcopy /d /i /y "%SOLUTIONPATH%\external\ebpf-verifier\ebpf-samples\build" "%OUTPUTPATH%" +xcopy /d /i /y "%SOLUTIONPATH%\external\ebpf-verifier\ebpf-samples\invalid" "%OUTPUTPATH%" +xcopy /d /i /y "%SOLUTIONPATH%\external\ebpf-verifier\ebpf-samples\linux" "%OUTPUTPATH%" +xcopy /d /i /y "%SOLUTIONPATH%\external\ebpf-verifier\ebpf-samples\prototype-kernel" "%OUTPUTPATH%" +xcopy /d /i /y "%SOLUTIONPATH%\external\ebpf-verifier\ebpf-samples\suricata" "%OUTPUTPATH%" diff --git a/tests/libfuzzer/verifier/verifier_fuzzer.vcxproj b/tests/libfuzzer/verifier/verifier_fuzzer.vcxproj index 095c64cc72..efd16ef88b 100644 --- a/tests/libfuzzer/verifier/verifier_fuzzer.vcxproj +++ b/tests/libfuzzer/verifier/verifier_fuzzer.vcxproj @@ -110,6 +110,15 @@ {3617528a-cb85-418b-82c1-e9cfc16755f6} + + + Document + $(SolutionDir)scripts\create_verifier_corpus.bat $(SolutionDir) $(OutDir)verifier_corpus + $(SolutionDir)scripts\create_verifier_corpus.bat $(SolutionDir) $(OutDir)verifier_corpus + $(OutDir)verifier_corpus\twomaps.o + $(OutDir)verifier_corpus\twomaps.o + + diff --git a/tests/libfuzzer/verifier/verifier_fuzzer.vcxproj.filters b/tests/libfuzzer/verifier/verifier_fuzzer.vcxproj.filters index 023689b030..abbd81a0ec 100644 --- a/tests/libfuzzer/verifier/verifier_fuzzer.vcxproj.filters +++ b/tests/libfuzzer/verifier/verifier_fuzzer.vcxproj.filters @@ -40,4 +40,9 @@ Header Files + + + Source Files + +