image: fedora:latest variables: DEPENDENCIES: >- gcc clang meson ninja-build git bzip2 libusb-devel glib2-devel FUZZING_DEPENDENCIES: >- clang libcxx-devel compiler-rt MINGW_DEPENDENCIES: >- mingw64-gcc mingw64-pkg-config mingw64-glib2 mingw64-libusbx # Check if can build with and without usbredirect stable: before_script: - dnf install -y --nogpgcheck $DEPENDENCIES script: - meson . _build -Dfuzzing=disabled -Dtools=enabled - ninja -C _build - ninja -C _build dist .fuzzing_base: resource_group: fuzzing before_script: - dnf install -y --nogpgcheck $DEPENDENCIES $FUZZING_DEPENDENCIES - export CC='clang -fsanitize=fuzzer-no-link -fsanitize=address' - export CXX='clang++ -fsanitize=fuzzer-no-link -fsanitize=address' fuzzing: extends: .fuzzing_base script: - export LIB_FUZZING_ENGINE=-fsanitize=fuzzer - export OUT=/tmp/fuzzer - ./build-aux/oss-fuzz.sh fuzzing_standalone: extends: .fuzzing_base script: - export LIB_FUZZING_ENGINE=standalone - export OUT=/tmp/fuzzer-standalone - ./build-aux/oss-fuzz.sh windows: before_script: - dnf install -y --nogpgcheck $DEPENDENCIES $MINGW_DEPENDENCIES script: - mkdir _win_build && cd _win_build - mingw64-meson -Dtools=enabled - ninja