gitlab-ci: Move artifact preparation to separate script
authorMichel Dänzer <mdaenzer@redhat.com>
Wed, 23 Oct 2019 16:42:53 +0000 (18:42 +0200)
committerMichel Dänzer <michel@daenzer.net>
Tue, 12 Nov 2019 09:14:26 +0000 (10:14 +0100)
It's currently only needed for the meson-main and meson-arm64 jobs, not
the other meson build jobs.

Also remove MESON_SHADERDB, just run .gitlab-ci/run-shader-db.sh
directly from the meson-main job.

v2:
* Also run prepare-artifacts.sh in meson-arm64 script
v3:
* Move tarball creation into the new script as well, as it prevented
  ccache --show-stats from running in after_script

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> # v1
Reviewed-by: Eric Anholt <eric@anholt.net>
.gitlab-ci.yml
.gitlab-ci/meson-build.sh
.gitlab-ci/prepare-artifacts.sh [new file with mode: 0755]

index 2882e449ff70c51872591faa8d8a77a40026ae69..ceb78f363fecf6295a078dd94f307bd01e5c70e8 100644 (file)
@@ -161,12 +161,6 @@ debian-10-test:arm64:
     - ccache --zero-stats || true
     - ccache --show-stats || true
   after_script:
-    # In case the install dir is being saved as artifacts, tar it up
-    # so that symlinks and hardlinks aren't each packed separately in
-    # the zip file.
-    - if [ -d install ]; then
-        tar -cf artifacts/install.tar install;
-      fi
     - export CCACHE_DIR="$PWD/ccache"
     - ccache --show-stats
 
@@ -222,8 +216,11 @@ meson-main:
     EXTRA_OPTION: >
       -D osmesa=gallium
       -D tools=all
-    MESON_SHADERDB: "true"
     BUILDTYPE: "debugoptimized"
+  script:
+    - .gitlab-ci/meson-build.sh
+    - .gitlab-ci/run-shader-db.sh
+    - .gitlab-ci/prepare-artifacts.sh
 
 .meson-cross:
   extends:
@@ -270,6 +267,9 @@ meson-arm64:
     - .ci-deqp-artifacts
   variables:
     BUILDTYPE: "debugoptimized"
+  script:
+    - .gitlab-ci/meson-build.sh
+    - .gitlab-ci/prepare-artifacts.sh
 
 # NOTE: Building SWR is 2x (yes two) times slower than all the other
 # gallium drivers combined.
index d56e526ef207c86708e390814f426d3351291ba2..b618f45a2c2442e0f946db4eb292641db2d278cf 100755 (executable)
@@ -62,28 +62,3 @@ ninja -j4
 LC_ALL=C.UTF-8 ninja test
 ninja install
 cd ..
-
-if test -n "$MESON_SHADERDB"; then
-    ./.gitlab-ci/run-shader-db.sh;
-fi
-
-# Delete 2MB of includes from artifacts.
-rm -rf install/include
-
-# Strip the drivers in the artifacts to cut 80% of the artifacts size.
-if [ -n "$CROSS" ]; then
-    STRIP=`sed -n -E "s/strip\s*=\s*'(.*)'/\1/p" "$CROSS_FILE"`
-    if [ -z "$STRIP" ]; then
-        echo "Failed to find strip command in cross file"
-        exit 1
-    fi
-else
-    STRIP="strip"
-fi
-find install -name \*.so -exec $STRIP {} \;
-
-# Test runs don't pull down the git tree, so put the dEQP helper
-# script and associated bits there.
-mkdir -p artifacts/
-cp -Rp .gitlab-ci/deqp* artifacts/
-# cp -Rp src/freedreno/ci/expected* artifacts/
diff --git a/.gitlab-ci/prepare-artifacts.sh b/.gitlab-ci/prepare-artifacts.sh
new file mode 100755 (executable)
index 0000000..6df00da
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+set -e
+set -o xtrace
+
+# Delete 2MB of includes from artifacts.
+rm -rf install/include
+
+# Strip the drivers in the artifacts to cut 80% of the artifacts size.
+if [ -n "$CROSS" ]; then
+    STRIP=`sed -n -E "s/strip\s*=\s*'(.*)'/\1/p" "$CROSS_FILE"`
+    if [ -z "$STRIP" ]; then
+        echo "Failed to find strip command in cross file"
+        exit 1
+    fi
+else
+    STRIP="strip"
+fi
+find install -name \*.so -exec $STRIP {} \;
+
+# Test runs don't pull down the git tree, so put the dEQP helper
+# script and associated bits there.
+mkdir -p artifacts/
+cp -Rp .gitlab-ci/deqp* artifacts/
+# cp -Rp src/freedreno/ci/expected* artifacts/
+
+# Tar up the install dir so that symlinks and hardlinks aren't each
+# packed separately in the zip file.
+tar -cf artifacts/install.tar install