25 lines
1.2 KiB
YAML
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
|