]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
ci: turn meson warnings into errors
authorEvgeny Vereshchagin <evvers@ya.ru>
Thu, 13 Jan 2022 12:28:09 +0000 (12:28 +0000)
committerEvgeny Vereshchagin <evvers@ya.ru>
Thu, 13 Jan 2022 22:53:37 +0000 (01:53 +0300)
.github/workflows/build_test.sh
.github/workflows/unit_tests.sh

index 9dc53a8c9b9df8983fbe4f8afcafba59a7fae7cc..d7f3ce313048739bfba3fd1813b09d786a735f5d 100755 (executable)
@@ -117,12 +117,21 @@ ninja --version
 for args in "${ARGS[@]}"; do
     SECONDS=0
 
+    # meson fails with
+    #   src/boot/efi/meson.build:52: WARNING: Not using lld as efi-ld, falling back to bfd
+    #   src/boot/efi/meson.build:52:16: ERROR: Fatal warnings enabled, aborting
+    # when LINKER is set to lld so let's just not turn meson warnings into errors with lld
+    # to make sure that the build systemd can pick up the correct efi-ld linker automatically.
+    if [[ "$LINKER" != lld ]]; then
+        additional_meson_args="--fatal-meson-warnings"
+    fi
     info "Checking build with $args"
     # shellcheck disable=SC2086
     if ! AR="$AR" \
          CC="$CC" CC_LD="$LINKER" CFLAGS="-Werror" \
          CXX="$CXX" CXX_LD="$LINKER" CXXFLAGS="-Werror" \
          meson -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true --werror \
+               -Dnobody-group=nogroup $additional_meson_args \
                -Dcryptolib="${CRYPTOLIB:?}" $args build; then
 
         cat build/meson-logs/meson-log.txt
index fc9c9b2cdcaf0b4e7685faf6ca112a022da31f21..8c59cf3636914c7f45a8f49fbc1726c5c2963cff 100755 (executable)
@@ -56,7 +56,7 @@ for phase in "${PHASES[@]}"; do
                 # The docs build is slow and is not affected by compiler/flags, so do it just once
                 MESON_ARGS+=(-Dman=true)
             fi
-            run_meson --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true "${MESON_ARGS[@]}" build
+            run_meson --fatal-meson-warnings -Dnobody-group=nogroup --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true "${MESON_ARGS[@]}" build
             ninja -C build -v
             meson test -C build --print-errorlogs
             ;;
@@ -71,7 +71,7 @@ for phase in "${PHASES[@]}"; do
                 # -Db_lundef=false: See https://github.com/mesonbuild/meson/issues/764
                 MESON_ARGS+=(-Db_lundef=false -Dfuzz-tests=true)
             fi
-            run_meson --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
 
             export ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1