ci: Build test with different linkers
authorJan Janssen <medhefgo@web.de>
Fri, 10 Dec 2021 17:28:33 +0000 (18:28 +0100)
committerJan Janssen <medhefgo@web.de>
Sat, 11 Dec 2021 10:03:29 +0000 (11:03 +0100)
.github/workflows/build_test.sh
.github/workflows/build_test.yml

index a718b6f37a589ea3bf305900bf0c60c9284974d4..96f532ab22ef0e471cb479f2178092ed5d94c1f7 100755 (executable)
@@ -62,6 +62,7 @@ PACKAGES=(
 )
 COMPILER="${COMPILER:?}"
 COMPILER_VERSION="${COMPILER_VERSION:?}"
+LINKER="${LINKER:?}"
 RELEASE="$(lsb_release -cs)"
 
 bash -c "echo 'deb-src http://archive.ubuntu.com/ubuntu/ $RELEASE main restricted universe multiverse' >>/etc/apt/sources.list"
@@ -117,7 +118,12 @@ for args in "${ARGS[@]}"; do
 
     info "Checking build with $args"
     # shellcheck disable=SC2086
-    if ! AR="$AR" CC="$CC" CXX="$CXX" CFLAGS="-Werror" CXXFLAGS="-Werror" meson -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true --werror $args build; then
+    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 \
+               $args build; then
+
         fatal "meson failed with $args"
     fi
 
index 887dfabf0555f88dafeccc04e4df60c429b1c306..69487fa594cd7f0ff017f38e764d2427d71adaf6 100644 (file)
@@ -19,20 +19,20 @@ jobs:
   build:
     runs-on: ubuntu-20.04
     concurrency:
-      group: ${{ github.workflow }}-${{ matrix.env.COMPILER }}-${{ matrix.env.COMPILER_VERSION }}-${{ github.ref }}
+      group: ${{ github.workflow }}-${{ matrix.env.COMPILER }}-${{ matrix.env.COMPILER_VERSION }}-${{ matrix.env.LINKER }}-${{ github.ref }}
       cancel-in-progress: true
     strategy:
       fail-fast: false
       matrix:
         env:
-          - { COMPILER: "gcc",   COMPILER_VERSION: "10" }
-          - { COMPILER: "gcc",   COMPILER_VERSION: "11" }
-          - { COMPILER: "clang", COMPILER_VERSION: "11" }
-          - { COMPILER: "clang", COMPILER_VERSION: "12" }
-          - { COMPILER: "clang", COMPILER_VERSION: "13" }
+          - { COMPILER: "gcc",   COMPILER_VERSION: "10", LINKER: "bfd"  }
+          - { COMPILER: "gcc",   COMPILER_VERSION: "11", LINKER: "gold" }
+          - { COMPILER: "clang", COMPILER_VERSION: "11", LINKER: "bfd"  }
+          - { COMPILER: "clang", COMPILER_VERSION: "12", LINKER: "gold" }
+          - { COMPILER: "clang", COMPILER_VERSION: "13", LINKER: "lld"  }
     env: ${{ matrix.env }}
     steps:
       - name: Repository checkout
         uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579
-      - name: Build check (${{ env.COMPILER }}-${{ env.COMPILER_VERSION }})
+      - name: Build check (${{ env.COMPILER }}-${{ env.COMPILER_VERSION }}-${{ env.LINKER }})
         run: sudo -E .github/workflows/build_test.sh