ci: Add release builds
authorDaniel Stone <daniels@collabora.com>
Tue, 3 Aug 2021 20:31:36 +0000 (21:31 +0100)
committerDaniel Stone <daniels@collabora.com>
Wed, 4 Aug 2021 17:20:26 +0000 (18:20 +0100)
Signed-off-by: Daniel Stone <daniels@collabora.com>
.gitlab-ci.yml

index 50c3244..4fe9791 100644 (file)
@@ -67,6 +67,7 @@ stages:
   - "Merge request checks"
   - "Base container"
   - "Build and test"
+  - "Other build configurations"
 
 .ci-rules:
   rules:
@@ -155,6 +156,8 @@ armv7-debian-container_prep:
 
 # Core build environment.
 .build-env:
+  variables:
+    MESON_BUILD_TYPE: "-Dbuildtype=debug -Doptimization=0 -Db_sanitize=address,undefined"
   before_script:
     - export BUILD_ID="wayland-$CI_JOB_NAME-$CI_COMMIT_SHA-$CI_JOB_ID"
     - export PREFIX="$(pwd)/prefix-$BUILD_ID"
@@ -162,6 +165,13 @@ armv7-debian-container_prep:
     - mkdir "$BUILDDIR" "$PREFIX"
 
 
+# Build variants to be stacked on as required.
+.build-release:
+  stage: "Other build configurations"
+  variables:
+    MESON_BUILD_TYPE: "-Dbuildtype=release"
+
+
 # OS/architecture-specific variants
 .build-env-debian-x86_64:
   extends:
@@ -209,7 +219,7 @@ armv7-debian-container_prep:
   stage: "Build and test"
   script:
     - cd "$BUILDDIR"
-    - meson --prefix="$PREFIX" -Db_sanitize=address,undefined -Dicon_directory=/usr/share/X11/icons ..
+    - meson --prefix="$PREFIX" -Dicon_directory=/usr/share/X11/icons ${MESON_BUILD_TYPE} ..
     - ninja -k0 test
     - ninja clean
   artifacts:
@@ -226,12 +236,30 @@ x86_64-debian-build:
     - .build-env-debian-x86_64
     - .do-build
 
+x86_64-release-debian-build:
+  extends:
+    - .build-env-debian-x86_64
+    - .do-build
+    - .build-release
+
 aarch64-debian-build:
   extends:
     - .build-env-debian-aarch64
     - .do-build
 
+aarch64-release-debian-build:
+  extends:
+    - .build-env-debian-aarch64
+    - .do-build
+    - .build-release
+
 armv7-debian-build:
   extends:
     - .build-env-debian-armv7
     - .do-build
+
+armv7-release-debian-build:
+  extends:
+    - .build-env-debian-armv7
+    - .do-build
+    - .build-release