OpenMiInk/third_party/kde-ci-utilities/gitlab-templates/oss-fuzz.yml
Hellings b8c8ff98e2 Hi
2026-10-16 09:05:56 -04:00

25 lines
1.2 KiB
YAML

# SPDX-FileCopyrightText: 2025 Azhar Momin <azhar.momin@kdemail.net>
# SPDX-License-Identifier: CC0-1.0
# CI job to simulate building OSS-Fuzz fuzzers and check they compile successfully
test_ossfuzz_fuzzers_build:
stage: build
image: gcr.io/oss-fuzz-base/base-builder:latest
when: manual
variables:
# We should be using $SRC, but $SRC is only defined inside the container at job runtime
OSSFUZZ_DIR: "/src/$CI_PROJECT_NAME/autotests/ossfuzz"
# The variables $SRC, $SANITIZER_FLAGS_address, $COVERAGE_FLAGS, and $FUZZING_ENGINE
# used below are all defined in the oss-fuzz-base/base-builder image
script:
- mkdir -p $SRC/$CI_PROJECT_NAME && cp -r . $SRC/$CI_PROJECT_NAME
- cd $SRC
- $OSSFUZZ_DIR/prepare_build.sh
- export SANITIZER="address"
- export SANITIZER_FLAGS="$SANITIZER_FLAGS_address"
# https://github.com/google/oss-fuzz/blob/20a387d78148c14dd5243ea1b16164fe08b73884/infra/base-images/base-builder/compile#L144
- export CFLAGS="$CFLAGS $SANITIZER_FLAGS $COVERAGE_FLAGS"
- export CXXFLAGS="$CFLAGS $CXXFLAGS_EXTRA"
- export FUZZING_LANGUAGE="c++"
- compile_${FUZZING_ENGINE}
- $OSSFUZZ_DIR/build_fuzzers.sh