From f417ced5cc89ce0790663246d52903079599bf67 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 22 Jul 2019 12:03:47 -0700 Subject: [PATCH] gitlab-ci: Build the CTS in the debian build image. This will let us reuse the image for test runs. Reviewed-by: Eric Engestrom --- .gitlab-ci.yml | 2 +- .gitlab-ci/debian-install.sh | 61 ++++++++++++++++++++++++++++++++++-- 2 files changed, 60 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f375a7c2423..9861f7590f4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,7 +14,7 @@ # repository's registry will be used there as well. variables: UPSTREAM_REPO: mesa/mesa - DEBIAN_TAG: "2019-08-08" + DEBIAN_TAG: "2019-08-09" DEBIAN_VERSION: stretch-slim DEBIAN_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG" diff --git a/.gitlab-ci/debian-install.sh b/.gitlab-ci/debian-install.sh index eb4a37ee1e0..0ccacd1a9d6 100644 --- a/.gitlab-ci/debian-install.sh +++ b/.gitlab-ci/debian-install.sh @@ -49,6 +49,7 @@ echo "deb https://deb.debian.org/debian/ buster main" >/etc/apt/sources.list.d/b echo "deb https://deb.debian.org/debian/ buster-updates main" >/etc/apt/sources.list.d/buster-updates.list apt-get update apt-get install -y \ + git \ bzip2 \ zlib1g-dev \ pkg-config \ @@ -70,11 +71,15 @@ apt-get install -y \ libunwind-dev \ libglvnd-dev \ libgtk-3-dev \ + libpng-dev \ + libgbm-dev \ + libgles2-mesa-dev \ python-mako \ python3-mako \ bison \ flex \ gettext \ + cmake \ meson \ scons @@ -219,10 +224,62 @@ for arch in $CROSS_ARCHITECTURES; do done -# Remove unused packages +############### Build dEQP +git config --global user.email "mesa@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 + +# 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 + +############### Uninstall the build software + apt-get purge -y \ git \ curl \ unzip \ - gnupg + gnupg \ + cmake \ + git \ + libgles2-mesa-dev \ + libgbm-dev + apt-get autoremove -y --purge -- 2.30.2