Mesa (master): gitlab-ci: Share dEQP build process between x86 & ARM test image scripts

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Nov 12 09:53:54 UTC 2019


Module: Mesa
Branch: master
Commit: df26e18b9ffc77d6743363c757306f4f1b3f8084
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=df26e18b9ffc77d6743363c757306f4f1b3f8084

Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Tue Nov  5 19:02:17 2019 +0100

gitlab-ci: Share dEQP build process between x86 & ARM test image scripts

See https://gitlab.freedesktop.org/mesa/mesa/issues/2056

v2:
* Rename .gitlab-ci/deqp-build.sh => .gitlab-ci/build-deqp.sh
  (Eric Anholt)

Reviewed-by: Eric Anholt <eric at anholt.net>

---

 .gitlab-ci.yml                          |  4 +--
 .gitlab-ci/build-deqp.sh                | 48 +++++++++++++++++++++++++++++++++
 .gitlab-ci/debian-arm64-test-install.sh | 48 +--------------------------------
 .gitlab-ci/debian-install.sh            | 45 ++-----------------------------
 4 files changed, 53 insertions(+), 92 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ceb78f363fe..b76aad99430 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -14,9 +14,9 @@
 # repository's registry will be used there as well.
 variables:
   UPSTREAM_REPO: mesa/mesa
-  DEBIAN_TAG: "2019-10-30"
+  DEBIAN_TAG: "2019-11-12"
   DEBIAN_ARM64_TAG: "arm64v8-2019-11-06"
-  DEBIAN_ARM64_TEST_TAG: "arm64v8-test-2019-11-06"
+  DEBIAN_ARM64_TEST_TAG: "arm64v8-test-2019-11-12"
   STRETCH_TAG: "2019-09-18"
   DEBIAN_VERSION: buster-slim
   STRETCH_VERSION: stretch-slim
diff --git a/.gitlab-ci/build-deqp.sh b/.gitlab-ci/build-deqp.sh
new file mode 100644
index 00000000000..b1fa4af8eb0
--- /dev/null
+++ b/.gitlab-ci/build-deqp.sh
@@ -0,0 +1,48 @@
+git config --global user.email "mesa at example.com"
+git config --global user.name "Mesa CI"
+# XXX: Use --depth 1 once we can drop the cherry-picks.
+git clone \
+    https://github.com/KhronosGroup/VK-GL-CTS.git \
+    -b opengl-es-cts-3.2.5.1 \
+    /VK-GL-CTS
+cd /VK-GL-CTS
+# Fix surfaceless build
+git cherry-pick -x 22f41e5e321c6dcd8569c4dad91bce89f06b3670
+git cherry-pick -x 1daa8dff73161ea60ead965bd6c9f2a0a2165648
+
+# surfaceless links against libkms and such despite not using it.
+sed -i '/gbm/d' targets/surfaceless/surfaceless.cmake
+sed -i '/libkms/d' targets/surfaceless/surfaceless.cmake
+sed -i '/libgbm/d' targets/surfaceless/surfaceless.cmake
+
+# --insecure is due to SSL cert failures hitting sourceforge for zlib and
+# libpng (sigh).  The archives get their checksums checked anyway, and git
+# always goes through ssh or https.
+python3 external/fetch_sources.py --insecure
+
+mkdir -p /deqp
+cd /deqp
+cmake -G Ninja \
+      -DDEQP_TARGET=surfaceless               \
+      -DCMAKE_BUILD_TYPE=Release              \
+      /VK-GL-CTS
+ninja
+
+# Copy out the mustpass lists we want from a bunch of other junk.
+mkdir /deqp/mustpass
+for gles in gles2 gles3 gles31; do
+    cp \
+        /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.5.x/$gles-master.txt \
+        /deqp/mustpass/$gles-master.txt
+done
+
+rm -rf /deqp/external
+rm -rf /deqp/modules/internal
+rm -rf /deqp/executor
+rm -rf /deqp/execserver
+rm -rf /deqp/modules/egl
+rm -rf /deqp/framework
+find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf
+strip modules/*/deqp-*
+du -sh *
+rm -rf /VK-GL-CTS
diff --git a/.gitlab-ci/debian-arm64-test-install.sh b/.gitlab-ci/debian-arm64-test-install.sh
index e80ba60f7cf..b59d6646ebb 100644
--- a/.gitlab-ci/debian-arm64-test-install.sh
+++ b/.gitlab-ci/debian-arm64-test-install.sh
@@ -32,54 +32,8 @@ apt-get -y install \
 
 ############### Build dEQP
 
-git config --global user.email "mesa at example.com"
-git config --global user.name "Mesa CI"
-# XXX: Use --depth 1 once we can drop the cherry-picks.
-git clone \
-    https://github.com/KhronosGroup/VK-GL-CTS.git \
-    -b opengl-es-cts-3.2.5.1 \
-    /VK-GL-CTS
-cd /VK-GL-CTS
-# Fix surfaceless build
-git cherry-pick -x 22f41e5e321c6dcd8569c4dad91bce89f06b3670
-git cherry-pick -x 1daa8dff73161ea60ead965bd6c9f2a0a2165648
+. .gitlab-ci/build-deqp.sh
 
-# surfaceless links against libkms and such despite not using it.
-sed -i '/gbm/d' targets/surfaceless/surfaceless.cmake
-sed -i '/libkms/d' targets/surfaceless/surfaceless.cmake
-sed -i '/libgbm/d' targets/surfaceless/surfaceless.cmake
-
-# --insecure is due to SSL cert failures hitting sourceforge for zlib and
-# libpng (sigh).  The archives get their checksums checked anyway, and git
-# always goes through ssh or https.
-python3 external/fetch_sources.py --insecure
-
-mkdir -p /deqp
-cd /deqp
-cmake -G Ninja \
-      -DDEQP_TARGET=surfaceless               \
-      -DCMAKE_BUILD_TYPE=Release              \
-      /VK-GL-CTS
-ninja
-
-# Copy out the mustpass lists we want from a bunch of other junk.
-mkdir /deqp/mustpass
-for gles in gles2 gles3 gles31; do
-    cp \
-        /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.5.x/$gles-master.txt \
-        /deqp/mustpass/$gles-master.txt
-done
-
-rm -rf /deqp/external
-rm -rf /deqp/modules/internal
-rm -rf /deqp/executor
-rm -rf /deqp/execserver
-rm -rf /deqp/modules/egl
-rm -rf /deqp/framework
-find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf
-strip modules/*/deqp-*
-du -sh *
-rm -rf /VK-GL-CTS
 
 ############### Uninstall the build software
 
diff --git a/.gitlab-ci/debian-install.sh b/.gitlab-ci/debian-install.sh
index 350ceb6181c..b51748107a0 100644
--- a/.gitlab-ci/debian-install.sh
+++ b/.gitlab-ci/debian-install.sh
@@ -244,50 +244,9 @@ done
 
 
 ############### Build dEQP
-git config --global user.email "mesa at example.com"
-git config --global user.name "Mesa CI"
-# XXX: Use --depth 1 once we can drop the cherry-picks.
-git clone \
-    https://github.com/KhronosGroup/VK-GL-CTS.git \
-    -b opengl-es-cts-3.2.5.1 \
-    /VK-GL-CTS
-cd /VK-GL-CTS
-# Fix surfaceless build
-git cherry-pick -x 22f41e5e321c6dcd8569c4dad91bce89f06b3670
-git cherry-pick -x 1daa8dff73161ea60ead965bd6c9f2a0a2165648
-
-# surfaceless links against libkms and such despite not using it.
-sed -i '/gbm/d' targets/surfaceless/surfaceless.cmake
-sed -i '/libkms/d' targets/surfaceless/surfaceless.cmake
-sed -i '/libgbm/d' targets/surfaceless/surfaceless.cmake
-
-python3 external/fetch_sources.py
-
-mkdir -p /deqp
-cd /deqp
-cmake -G Ninja \
-      -DDEQP_TARGET=surfaceless               \
-      -DCMAKE_BUILD_TYPE=Release              \
-      /VK-GL-CTS
-ninja -j4
-
-# Copy out the mustpass lists we want from a bunch of other junk.
-mkdir /deqp/mustpass
-for gles in gles2 gles3 gles31; do
-    cp \
-        /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.5.x/$gles-master.txt \
-        /deqp/mustpass/$gles-master.txt
-done
 
-# Remove the rest of the build products that we don't need.
-rm -rf /deqp/external
-rm -rf /deqp/modules/internal
-rm -rf /deqp/executor
-rm -rf /deqp/execserver
-rm -rf /deqp/modules/egl
-rm -rf /deqp/framework
-du -sh *
-rm -rf /VK-GL-CTS
+. .gitlab-ci/build-deqp.sh
+
 
 ############### Uninstall the build software
 




More information about the mesa-commit mailing list