gitlab-ci: build VulkanTools into the Vulkan testing container
[mesa.git] / .gitlab-ci / container / x86_test-vk.sh
1 #!/bin/bash
2
3 set -e
4 set -o xtrace
5
6 export DEBIAN_FRONTEND=noninteractive
7
8 apt-get install -y \
9 ca-certificates \
10 gnupg \
11
12 # Upstream LLVM package repository
13 apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key
14 echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
15
16 sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
17 echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
18
19 apt-get update
20
21 # Use newer packages from backports by default
22 cat >/etc/apt/preferences <<EOF
23 Package: *
24 Pin: release a=buster-backports
25 Pin-Priority: 500
26 EOF
27
28 apt-get dist-upgrade -y
29
30 apt-get install -y --no-remove \
31 cmake \
32 g++ \
33 git \
34 gcc \
35 libexpat1 \
36 libgbm-dev \
37 libgles2-mesa-dev \
38 liblz4-1 \
39 liblz4-dev \
40 libpng16-16 \
41 libpng-dev \
42 libvulkan1 \
43 libvulkan-dev \
44 libwayland-client0 \
45 libwayland-server0 \
46 libxcb-ewmh2 \
47 libxcb-ewmh-dev \
48 libxcb-keysyms1 \
49 libxcb-keysyms1-dev \
50 libxcb-randr0 \
51 libxcb-xfixes0 \
52 libxkbcommon0 \
53 libxkbcommon-dev \
54 libxrandr2 \
55 libxrandr-dev \
56 libxrender1 \
57 libxrender-dev \
58 libllvm9 \
59 meson \
60 patch \
61 pkg-config \
62 python3-distutils \
63 python \
64 xauth \
65 xvfb
66
67
68 ############### Build dEQP runner
69
70 . .gitlab-ci/build-cts-runner.sh
71
72 ############### Build dEQP VK
73
74 . .gitlab-ci/build-deqp-vk.sh
75
76 ############### Build gfxreconstruct
77
78 . .gitlab-ci/build-gfxreconstruct.sh
79
80 ############### Build VulkanTools
81
82 . .gitlab-ci/build-vulkantools.sh
83
84 ############### Uninstall the build software
85
86 apt-get purge -y \
87 cmake \
88 g++ \
89 gcc \
90 git \
91 gnupg \
92 libgbm-dev \
93 libgles2-mesa-dev \
94 liblz4-dev \
95 libpng-dev \
96 libvulkan-dev \
97 libxcb-ewmh-dev \
98 libxcb-keysyms1-dev \
99 libxkbcommon-dev \
100 libxrandr-dev \
101 libxrender-dev \
102 meson \
103 patch \
104 pkg-config \
105 python
106
107 apt-get autoremove -y --purge