From 65804abc791f87fc0b1f2e14143bf30fed8cba8c Mon Sep 17 00:00:00 2001 From: Mathias Kraus Date: Thu, 22 Aug 2024 21:19:34 +0200 Subject: [PATCH] iox-#2301 Add 32 bit build to CI --- .github/workflows/build-test.yml | 14 ++++++++++++++ tools/ci/build-test-ubuntu.sh | 26 ++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 753ef62f70..e63660a475 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -172,6 +172,20 @@ jobs: - name: Run Thread Sanitizer run: ./tools/ci/build-test-ubuntu-with-sanitizers.sh clang tsan + build-test-ubuntu-32-bit: + # prevent stuck jobs consuming runners for 6 hours + timeout-minutes: 60 + runs-on: ubuntu-latest + needs: pre-flight-check + steps: + - uses: actions/checkout@v4 + - uses: egor-tensin/setup-gcc@v1.3 + with: + # gcc 8.3 is compiler used in QNX 7.1 + version: 13 + platform: x64 + - run: ./tools/ci/build-test-ubuntu.sh 32-bit-x86 + # Bazel sanity check build-test-ubuntu-bazel: # prevent stuck jobs consuming runners for 6 hours diff --git a/tools/ci/build-test-ubuntu.sh b/tools/ci/build-test-ubuntu.sh index 443ce3dc4c..bd9d22e06c 100755 --- a/tools/ci/build-test-ubuntu.sh +++ b/tools/ci/build-test-ubuntu.sh @@ -19,6 +19,19 @@ set -e +COMPILER=gcc +SANITIZER=asan +BUILD_32BIT="" + +while (( "$#" )); do + case "$1" in + "32-bit-x86") + BUILD_32BIT="32-bit-x86" + shift 1 + ;; + esac +done + msg() { printf "\033[1;32m%s: %s\033[0m\n" ${FUNCNAME[1]} "$1" } @@ -27,7 +40,16 @@ WORKSPACE=$(git rev-parse --show-toplevel) cd ${WORKSPACE} msg "installing build dependencies" -sudo apt-get update && sudo apt-get install -y libacl1-dev libncurses5-dev +sudo dpkg --add-architecture i386 +sudo apt-get update && sudo apt-get install -y \ + libacl1-dev \ + libacl1-dev:i386 \ + libncurses5-dev \ + libc6-dev-i386 \ + libc6-dev-i386-cross \ + libstdc++6-i386-cross \ + gcc-multilib \ + g++-multilib msg "creating local test users and groups for testing access control" sudo ./tools/scripts/add_test_users.sh @@ -37,7 +59,7 @@ $(gcc --version) $(clang --version)" msg "building sources" -./tools/iceoryx_build_test.sh build-strict build-all out-of-tree build-shared test-add-user +./tools/iceoryx_build_test.sh build-strict build-all out-of-tree build-shared test-add-user ${BUILD_32BIT} msg "building debian package" ./tools/iceoryx_build_test.sh package