gitlab-ci: Add ppc64el and s390x cross-build jobs
[mesa.git] / .gitlab-ci / build-deqp-gl.sh
1 git config --global user.email "mesa@example.com"
2 git config --global user.name "Mesa CI"
3 # XXX: Use --depth 1 once we can drop the cherry-picks.
4 git clone \
5 https://github.com/KhronosGroup/VK-GL-CTS.git \
6 -b opengl-es-cts-3.2.5.1 \
7 /VK-GL-CTS
8 pushd /VK-GL-CTS
9 # Fix surfaceless build
10 git cherry-pick -x 22f41e5e321c6dcd8569c4dad91bce89f06b3670
11 git cherry-pick -x 1daa8dff73161ea60ead965bd6c9f2a0a2165648
12
13 # surfaceless links against libkms and such despite not using it.
14 sed -i '/gbm/d' targets/surfaceless/surfaceless.cmake
15 sed -i '/libkms/d' targets/surfaceless/surfaceless.cmake
16 sed -i '/libgbm/d' targets/surfaceless/surfaceless.cmake
17
18 # --insecure is due to SSL cert failures hitting sourceforge for zlib and
19 # libpng (sigh). The archives get their checksums checked anyway, and git
20 # always goes through ssh or https.
21 python3 external/fetch_sources.py --insecure
22
23 mkdir -p /deqp
24
25 # Save the testlog stylesheets:
26 cp doc/testlog-stylesheet/testlog.{css,xsl} /deqp
27 popd
28
29 pushd /deqp
30 cmake -G Ninja \
31 -DDEQP_TARGET=surfaceless \
32 -DCMAKE_BUILD_TYPE=Release \
33 $EXTRA_CMAKE_ARGS \
34 /VK-GL-CTS
35 ninja
36
37 # Copy out the mustpass lists we want from a bunch of other junk.
38 mkdir /deqp/mustpass
39 for gles in gles2 gles3 gles31; do
40 cp \
41 /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.5.x/$gles-master.txt \
42 /deqp/mustpass/$gles-master.txt
43 done
44
45 # Save *some* executor utils, but otherwise strip things down
46 # to reduct deqp build size:
47 mkdir /deqp/executor.save
48 cp /deqp/executor/testlog-to-* /deqp/executor.save
49 rm -rf /deqp/executor
50 mv /deqp/executor.save /deqp/executor
51
52 rm -rf /deqp/external
53 rm -rf /deqp/modules/internal
54 rm -rf /deqp/execserver
55 rm -rf /deqp/modules/egl
56 rm -rf /deqp/framework
57 find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf
58 ${STRIP_CMD:-strip} modules/*/deqp-*
59 du -sh *
60 rm -rf /VK-GL-CTS
61 popd