Add 32 bit github actions CI
authorCharles Giessen <charles@lunarg.com>
Wed, 19 Oct 2022 21:08:10 +0000 (15:08 -0600)
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>
Tue, 25 Oct 2022 23:58:01 +0000 (17:58 -0600)
.github/workflows/build.yml

index 2d86177e6ec960a612ea3f164471f392138926c5..e560b90d2bc5ac0864a8df8159d4a8286c68e152 100644 (file)
@@ -45,7 +45,8 @@ jobs:
               with:
                 python-version: '3.7'
             - run: sudo apt update
-            - run: sudo apt install libwayland-dev libxrandr-dev
+            - name: Install Dependencies
+              run: sudo apt install --yes --no-install-recommends libwayland-dev libxrandr-dev
 
             - name: Generate build files
               run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=${{matrix.config}} -DBUILD_TESTS=On -DUPDATE_DEPS=ON -DTEST_USE_ADDRESS_SANITIZER=ON
@@ -69,6 +70,46 @@ jobs:
             - name: Verify commit message formatting
               run: ./scripts/check_commit_message_format.sh
 
+    linux-32:
+        runs-on: ${{matrix.os}}
+
+        strategy:
+            matrix:
+                cc: [ gcc, clang ]
+                cxx: [ g++, clang++ ]
+                config: [ Debug, Release ]
+                os: [ ubuntu-18.04, ubuntu-20.04 ]
+                exclude:
+                    - cc: gcc
+                      cxx: clang++
+                    - cc: clang
+                      cxx: g++
+
+        steps:
+            - uses: actions/checkout@v2
+            - uses: actions/setup-python@v2
+              with:
+                python-version: '3.7'
+            - name: Install Dependencies
+              run: |-
+                sudo dpkg --add-architecture i386
+                sudo apt-get update
+                sudo apt install --yes --no-install-recommends gcc-multilib g++-multilib libc6-dev-i386 pkg-config-i686-linux-gnu libwayland-dev:i386 libxrandr-dev:i386
+            - name: Generate build files
+              run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=${{matrix.config}} -DBUILD_TESTS=On -DUPDATE_DEPS=ON -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32
+              env:
+                LDFLAGS: -m32
+                ASFLAGS: --32
+                PKG_CONFIG: i686-pc-linux-gnu-pkg-config
+
+
+            - name: Build the loader
+              run: make -C build
+
+            - name: Run regression tests
+              working-directory: ./build
+              run: ctest --output-on-failure
+
     windows:
         runs-on: ${{matrix.os}}