aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci/debian-install.sh
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-07-22 12:03:47 -0700
committerEric Anholt <[email protected]>2019-08-13 10:30:01 -0700
commitf417ced5cc89ce0790663246d52903079599bf67 (patch)
tree13c1dd863dad12f874d82ed5c0805a79b119b4dd /.gitlab-ci/debian-install.sh
parent86ae3c218662a302a96003010f331ac3d3153147 (diff)
gitlab-ci: Build the CTS in the debian build image.
This will let us reuse the image for test runs. Reviewed-by: Eric Engestrom <[email protected]>
Diffstat (limited to '.gitlab-ci/debian-install.sh')
-rw-r--r--.gitlab-ci/debian-install.sh61
1 files changed, 59 insertions, 2 deletions
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 "[email protected]"
+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