]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
ci: Add mold to build tests
authorJan Janssen <medhefgo@web.de>
Tue, 9 Aug 2022 08:36:40 +0000 (10:36 +0200)
committerJan Janssen <medhefgo@web.de>
Tue, 23 Aug 2022 08:25:30 +0000 (10:25 +0200)
.github/workflows/build_test.sh
.github/workflows/build_test.yml

index 4e6f6a1af1ba0ecb6b81cb7ba4bd958cda02a34e..7400dc17f30fbb5fad85fe85fd0d03811518b201 100755 (executable)
@@ -45,6 +45,7 @@ PACKAGES=(
     libxkbcommon-dev
     libxtables-dev
     libzstd-dev
+    mold
     mount
     net-tools
     perl
@@ -134,11 +135,21 @@ for args in "${ARGS[@]}"; do
     if [[ "$LINKER" != lld ]]; then
         additional_meson_args="--fatal-meson-warnings"
     fi
+
+    # mold < 1.1 does not support LTO.
+    if dpkg --compare-versions "$(dpkg-query --showformat='${Version}' --show mold)" ge 1.1; then
+        fatal "Newer mold version detected, please remove this workaround."
+    elif [[ "$args" == *"-Db_lto=true"* ]]; then
+        LD="gold"
+    else
+        LD="$LINKER"
+    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" \
+         CC="$CC" CC_LD="$LD" CFLAGS="-Werror" \
+         CXX="$CXX" CXX_LD="$LD" CXXFLAGS="-Werror" \
          meson -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true --werror \
                -Dnobody-group=nogroup $additional_meson_args \
                -Dcryptolib="${CRYPTOLIB:?}" $args build; then
index 9a0f8f9bd324798897915726f951df08c9a06137..cd6937e390245ce5a002662dde3b8fc88834014b 100644 (file)
@@ -27,7 +27,7 @@ jobs:
         env:
           - { COMPILER: "gcc",   COMPILER_VERSION: "11", LINKER: "bfd",  CRYPTOLIB: "gcrypt"  }
           - { COMPILER: "gcc",   COMPILER_VERSION: "12", LINKER: "gold", CRYPTOLIB: "openssl" }
-          - { COMPILER: "clang", COMPILER_VERSION: "13", LINKER: "gold", CRYPTOLIB: "gcrypt"  }
+          - { COMPILER: "clang", COMPILER_VERSION: "13", LINKER: "mold", CRYPTOLIB: "gcrypt"  }
           - { COMPILER: "clang", COMPILER_VERSION: "14", LINKER: "lld",  CRYPTOLIB: "openssl" }
           - { COMPILER: "clang", COMPILER_VERSION: "15", LINKER: "bfd",  CRYPTOLIB: "auto"    }
     env: ${{ matrix.env }}