]> xenbits.xensource.com Git - people/andrewcoop/xen-test-framework.git/commitdiff
CI: Expand build testing to cross-compile arm32 and arm64
authorAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 21 Apr 2021 22:51:05 +0000 (23:51 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Sat, 13 Jan 2024 14:48:46 +0000 (14:48 +0000)
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
.github/workflows/build.yml

index d370c2fd0b10096556e727a4d6f588fa949f6792..d610f937fb62f516e345d33043765e9c2be7170c 100644 (file)
@@ -26,8 +26,8 @@ jobs:
 
     strategy:
       matrix:
-        arch: [x86]
-        compiler: [llvm-12, llvm-13, llvm-14]
+        arch: [x86, arm32, arm64]
+        compiler: [llvm-12, llvm-13, llvm-14, llvm-15]
 
         include:
           - arch: x86
@@ -48,6 +48,11 @@ jobs:
           - arch: x86
             compiler: clang-14
 
+          - arch: arm32
+            compiler: gcc-arm-linux-gnueabihf
+          - arch: arm64
+            compiler: gcc-aarch64-linux-gnu
+
     runs-on: ubuntu-22.04
 
     steps:
@@ -67,11 +72,19 @@ jobs:
 
     - name: Build
       run: |
-        # Select appropriate LLVM= or CC=
+        a=${{matrix.arch}}
         c=${{matrix.compiler}}
+
+        # Select appropriate CROSS_COMPILE for non-x86 targets
+        case $a in
+            arm32) CROSS="CROSS_COMPILE=arm-linux-gnueabihf-" ;;
+            arm64) CROSS="CROSS_COMPILE=aarch64-linux-gnu-"   ;;
+        esac
+
+        # Select appropriate LLVM= or CC=
         case $c in
             llvm-*)  COMP="LLVM=${c#llvm}" ;;
-            *)       COMP="CC=$c" ;;
+            *) [[ -z "$CROSS" ]] && COMP="CC=$c" ;;
         esac
 
-        make -j`nproc` ARCH=${{matrix.arch}} $CROSS $COMP
+        make -j`nproc` ARCH=$a $CROSS $COMP