mirror of
https://github.com/systemd/systemd
synced 2024-10-15 12:34:37 +00:00
Merge pull request #22591 from evverx/no-deps
ci: build systemd without optional dependencies
This commit is contained in:
commit
80ff956704
8
.github/workflows/unit_tests.sh
vendored
8
.github/workflows/unit_tests.sh
vendored
|
@ -63,16 +63,20 @@ for phase in "${PHASES[@]}"; do
|
||||||
ninja -C build -v
|
ninja -C build -v
|
||||||
meson test -C build --print-errorlogs
|
meson test -C build --print-errorlogs
|
||||||
;;
|
;;
|
||||||
RUN_ASAN_UBSAN|RUN_GCC_ASAN_UBSAN|RUN_CLANG_ASAN_UBSAN)
|
RUN_ASAN_UBSAN|RUN_GCC_ASAN_UBSAN|RUN_CLANG_ASAN_UBSAN|RUN_CLANG_ASAN_UBSAN_NO_DEPS)
|
||||||
MESON_ARGS=(--optimization=1)
|
MESON_ARGS=(--optimization=1)
|
||||||
|
|
||||||
if [[ "$phase" = "RUN_CLANG_ASAN_UBSAN" ]]; then
|
if [[ "$phase" =~ ^RUN_CLANG_ASAN_UBSAN ]]; then
|
||||||
export CC=clang
|
export CC=clang
|
||||||
export CXX=clang++
|
export CXX=clang++
|
||||||
# Build fuzzer regression tests only with clang (for now),
|
# Build fuzzer regression tests only with clang (for now),
|
||||||
# see: https://github.com/systemd/systemd/pull/15886#issuecomment-632689604
|
# see: https://github.com/systemd/systemd/pull/15886#issuecomment-632689604
|
||||||
# -Db_lundef=false: See https://github.com/mesonbuild/meson/issues/764
|
# -Db_lundef=false: See https://github.com/mesonbuild/meson/issues/764
|
||||||
MESON_ARGS+=(-Db_lundef=false -Dfuzz-tests=true)
|
MESON_ARGS+=(-Db_lundef=false -Dfuzz-tests=true)
|
||||||
|
|
||||||
|
if [[ "$phase" == "RUN_CLANG_ASAN_UBSAN_NO_DEPS" ]]; then
|
||||||
|
MESON_ARGS+=(-Dskip-deps=true)
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
run_meson --fatal-meson-warnings -Dnobody-group=nogroup --werror -Dtests=unsafe -Db_sanitize=address,undefined "${MESON_ARGS[@]}" build
|
run_meson --fatal-meson-warnings -Dnobody-group=nogroup --werror -Dtests=unsafe -Db_sanitize=address,undefined "${MESON_ARGS[@]}" build
|
||||||
ninja -C build -v
|
ninja -C build -v
|
||||||
|
|
2
.github/workflows/unit_tests.yml
vendored
2
.github/workflows/unit_tests.yml
vendored
|
@ -21,7 +21,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
run_phase: [GCC, GCC_ASAN_UBSAN, CLANG, CLANG_ASAN_UBSAN]
|
run_phase: [GCC, GCC_ASAN_UBSAN, CLANG, CLANG_ASAN_UBSAN, CLANG_ASAN_UBSAN_NO_DEPS]
|
||||||
cryptolib: [auto]
|
cryptolib: [auto]
|
||||||
include:
|
include:
|
||||||
- run_phase: GCC
|
- run_phase: GCC
|
||||||
|
|
|
@ -40,7 +40,7 @@ if want_ossfuzz and want_libfuzzer
|
||||||
error('only one of oss-fuzz or llvm-fuzz can be specified')
|
error('only one of oss-fuzz or llvm-fuzz can be specified')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
skip_deps = want_ossfuzz
|
skip_deps = want_ossfuzz or get_option('skip-deps')
|
||||||
fuzzer_build = want_ossfuzz or want_libfuzzer
|
fuzzer_build = want_ossfuzz or want_libfuzzer
|
||||||
|
|
||||||
# Create a title-less summary section early, so it ends up first in the output.
|
# Create a title-less summary section early, so it ends up first in the output.
|
||||||
|
|
|
@ -484,3 +484,6 @@ option('analyze', type: 'boolean', value: 'true',
|
||||||
|
|
||||||
option('bpf-framework', type : 'combo', choices : ['auto', 'true', 'false'],
|
option('bpf-framework', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||||
description: 'build BPF programs from source code in restricted C')
|
description: 'build BPF programs from source code in restricted C')
|
||||||
|
|
||||||
|
option('skip-deps', type : 'boolean', value : 'false',
|
||||||
|
description : 'skip optional dependencies')
|
||||||
|
|
|
@ -7,10 +7,11 @@ sanitize_address_undefined = custom_target(
|
||||||
project_source_root,
|
project_source_root,
|
||||||
'@OUTPUT@',
|
'@OUTPUT@',
|
||||||
'fuzzers',
|
'fuzzers',
|
||||||
'-Dfuzz-tests=true -Db_lundef=false -Db_sanitize=address,undefined --optimization=@0@ @1@ -Dc_args=@2@ -Dcpp_args=@2@'.format(
|
'-Dfuzz-tests=true -Db_lundef=false -Db_sanitize=address,undefined --optimization=@0@ @1@ -Dc_args=@2@ -Dcpp_args=@2@ -Dskip-deps=@3@'.format(
|
||||||
get_option('optimization'),
|
get_option('optimization'),
|
||||||
get_option('werror') ? '--werror' : '',
|
get_option('werror') ? '--werror' : '',
|
||||||
'-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION'
|
'-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION',
|
||||||
|
get_option('skip-deps')
|
||||||
),
|
),
|
||||||
' '.join(cc.cmd_array()),
|
' '.join(cc.cmd_array()),
|
||||||
cxx_cmd])
|
cxx_cmd])
|
||||||
|
|
Loading…
Reference in a new issue