From 16cee42d7492c5d2b612a991019eb9ee033dfe1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20W=C3=B6lzer?= <martin@libclapp.org>
Date: Wed, 18 Sep 2024 06:03:29 +0200
Subject: [PATCH] .gitlab-ci: introduced arm32 and arm64 pipelines

---
 .gitlab-ci/build.yml | 74 ++++++++++++++++++++++++++++++++++++++++++++
 .gitlab-ci/test.yml  | 22 +++++++++++++
 2 files changed, 96 insertions(+)

diff --git a/.gitlab-ci/build.yml b/.gitlab-ci/build.yml
index 6376e145..7e348195 100644
--- a/.gitlab-ci/build.yml
+++ b/.gitlab-ci/build.yml
@@ -64,6 +64,80 @@ compile_amd64_ubuntu_24.04:
             - build_*
     dependencies: []
 
+compile_arm32_ubuntu_24.04:
+    variables:
+      GIT_SUBMODULE_STRATEGY: recursive
+    stage: build
+    script:
+        - .ci/build/build.sh --compiler "${COMPILER}" --compiler-version "${COMPILER_VERSION}" --build-type "${BUILD_TYPE}" --generator "${GENERATOR}" --verbose --pedantic
+    artifacts:
+        when: always
+        expire_in: 1 week
+        paths:
+            - build_*
+    parallel:
+      matrix:
+          - BUILD_TYPE:
+                - "Debug"
+                - "Release"
+            GENERATOR:
+                - "Ninja"
+            COMPILER:
+                - "clang"
+            COMPILER_VERSION:
+                - 17
+          - BUILD_TYPE:
+                - "Debug"
+                - "Release"
+            GENERATOR:
+                - "Ninja"
+            COMPILER:
+                - "gcc"
+            COMPILER_VERSION:
+                - 12
+                - 13
+    tags:
+        - compiler
+        - ubuntu-24.04-arm32
+    dependencies: []
+
+compile_arm64_ubuntu_24.04:
+    variables:
+      GIT_SUBMODULE_STRATEGY: recursive
+    stage: build
+    script:
+        - .ci/build/build.sh --compiler "${COMPILER}" --compiler-version "${COMPILER_VERSION}" --build-type "${BUILD_TYPE}" --generator "${GENERATOR}" --verbose --pedantic
+    artifacts:
+        when: always
+        expire_in: 1 week
+        paths:
+            - build_*
+    parallel:
+      matrix:
+          - BUILD_TYPE:
+                - "Debug"
+                - "Release"
+            GENERATOR:
+                - "Ninja"
+            COMPILER:
+                - "clang"
+            COMPILER_VERSION:
+                - 17
+          - BUILD_TYPE:
+                - "Debug"
+                - "Release"
+            GENERATOR:
+                - "Ninja"
+            COMPILER:
+                - "gcc"
+            COMPILER_VERSION:
+                - 12
+                - 13
+    tags:
+        - compiler
+        - ubuntu-24.04-arm64
+    dependencies: []
+
 clang_tidy_amd64_ubuntu_24.04:
     stage: build
     script:
diff --git a/.gitlab-ci/test.yml b/.gitlab-ci/test.yml
index d0e27857..dfaadb02 100644
--- a/.gitlab-ci/test.yml
+++ b/.gitlab-ci/test.yml
@@ -9,6 +9,28 @@ test_amd64_ubuntu_24.04:
         - job: compile_amd64_ubuntu_24.04
           artifacts: true
 
+test_arm32_ubuntu_24.04:
+    stage: test
+    script:
+        - .ci/test/test.sh --build-dir "build_*"
+    tags:
+        - compiler
+        - ubuntu-24.04-arm32
+    needs:
+        - job: compile_arm32_ubuntu_24.04
+          artifacts: true
+
+test_arm64_ubuntu_24.04:
+    stage: test
+    script:
+        - .ci/test/test.sh --build-dir "build_*"
+    tags:
+        - compiler
+        - ubuntu-24.04-arm64
+    needs:
+        - job: compile_arm64_ubuntu_24.04
+          artifacts: true
+
 test_sanitizer_amd64_ubuntu_24.04:
     stage: test
     script:
-- 
GitLab