gitlab-ci: Build clover against all supported versions of LLVM
authorMichel Dänzer <michel.daenzer@amd.com>
Fri, 3 May 2019 08:58:48 +0000 (10:58 +0200)
committerMichel Dänzer <michel@daenzer.net>
Wed, 8 May 2019 16:59:02 +0000 (16:59 +0000)
And consolidate it all into a single job.

It doesn't take much longer than a single version, thanks to ccache.
Overall, this single job might be faster or at least use fewer CPU
cycles than the two jobs before, while covering thrice as many versions
of LLVM.

v2:
* Move "rm -rf _build" to meson-build.sh.
* Set GALLIUM_DRIVERS the same way both times in the meson-clover job,
  for symmetry.

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> # v1
.gitlab-ci.yml
.gitlab-ci/debian-install.sh
.gitlab-ci/meson-build.sh [changed mode: 0644->0755]

index 1b448b34599897f1478695d50d80a165267cd5f3..de6e7d1c76c3ea4ac845af8e1cf19f7b25c6753d 100644 (file)
@@ -14,7 +14,7 @@
 # repository's registry will be used there as well.
 variables:
   UPSTREAM_REPO: mesa/mesa
-  DEBIAN_TAG: "2019-05-01"
+  DEBIAN_TAG: "2019-05-08"
   DEBIAN_VERSION: stretch-slim
   DEBIAN_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG"
 
@@ -183,7 +183,7 @@ meson-main:
     GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,svga,v3d,vc4,virgl,etnaviv,panfrost,lima"
     LLVM_VERSION: "7"
 
-meson-clover-llvm:
+meson-clover:
   extends: .meson-build
   variables:
     UNWIND: "true"
@@ -200,13 +200,15 @@ meson-clover-llvm:
       -D gallium-xa=false
       -D gallium-nine=false
       -D gallium-opencl=icd
-    GALLIUM_DRIVERS: "r600,radeonsi"
-
-meson-clover-llvm39:
-  extends: meson-clover-llvm
-  variables:
-    GALLIUM_DRIVERS: "i915,r600"
-    LLVM_VERSION: "3.9"
+  script:
+    - export GALLIUM_DRIVERS="r600,radeonsi"
+    - .gitlab-ci/meson-build.sh
+    - LLVM_VERSION=7 .gitlab-ci/meson-build.sh
+    - export GALLIUM_DRIVERS="i915,r600"
+    - LLVM_VERSION=3.9 .gitlab-ci/meson-build.sh
+    - LLVM_VERSION=4.0 .gitlab-ci/meson-build.sh
+    - LLVM_VERSION=5.0 .gitlab-ci/meson-build.sh
+    - LLVM_VERSION=6.0 .gitlab-ci/meson-build.sh
 
 scons-nollvm:
   extends: .scons-build
index 3b8a1c0c5d54be802fb126ba4add0f5730d147d5..98399c1a94298c4b10d3a2b4f72d2c02a7634a99 100644 (file)
@@ -26,12 +26,18 @@ apt-get install -y -t stretch-backports \
       llvm-3.4-dev \
       llvm-3.9-dev \
       libclang-3.9-dev \
+      llvm-4.0-dev \
+      libclang-4.0-dev \
       llvm-5.0-dev \
+      libclang-5.0-dev \
       llvm-6.0-dev \
+      libclang-6.0-dev \
       llvm-7-dev \
+      libclang-7-dev \
+      llvm-8-dev \
+      libclang-8-dev \
       g++ \
-      clang-8 \
-      libclang-7-dev
+      clang-8
 
 # Install remaining packages from Debian buster to get newer versions
 add-apt-repository "deb https://deb.debian.org/debian/ buster main"
old mode 100644 (file)
new mode 100755 (executable)
index ac41eb8..e6f0b80
@@ -10,9 +10,11 @@ if test -n "$LLVM_VERSION"; then
     echo -e "[binaries]\nllvm-config = '`which $LLVM_CONFIG`'" > native.file
     $LLVM_CONFIG --version
 else
+    rm -f native.file
     touch native.file
 fi
 
+rm -rf _build
 meson _build --native-file=native.file \
       -D buildtype=debug \
       -D build-tests=true \