ci: Enable ccache in the container builds.
[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 ccache \
32 cmake \
33 g++ \
34 gcc \
35 git \
36 git-lfs \
37 libexpat1 \
38 libgbm-dev \
39 libgles2-mesa-dev \
40 libllvm9 \
41 liblz4-1 \
42 liblz4-dev \
43 libpng-dev \
44 libpng16-16 \
45 libvulkan-dev \
46 libvulkan1 \
47 libwayland-client0 \
48 libwayland-server0 \
49 libxcb-ewmh-dev \
50 libxcb-ewmh2 \
51 libxcb-keysyms1 \
52 libxcb-keysyms1-dev \
53 libxcb-randr0 \
54 libxcb-xfixes0 \
55 libxkbcommon-dev \
56 libxkbcommon0 \
57 libxrandr-dev \
58 libxrandr2 \
59 libxrender-dev \
60 libxrender1 \
61 meson \
62 pkg-config \
63 python \
64 python3-distutils \
65 python3-pil \
66 python3-yaml \
67 xauth \
68 xvfb
69
70 . .gitlab-ci/container/container_pre_build.sh
71
72 ############### Build dEQP runner
73
74 . .gitlab-ci/build-cts-runner.sh
75
76 ############### Build Fossilize
77
78 . .gitlab-ci/build-fossilize.sh
79
80 ############### Build dEQP VK
81
82 . .gitlab-ci/build-deqp-vk.sh
83
84 ############### Build gfxreconstruct
85
86 . .gitlab-ci/build-gfxreconstruct.sh
87
88 ############### Build VulkanTools
89
90 . .gitlab-ci/build-vulkantools.sh
91
92 ############### Uninstall the build software
93
94 ccache --show-stats
95
96 apt-get purge -y \
97 ccache \
98 cmake \
99 g++ \
100 gcc \
101 gnupg \
102 libgbm-dev \
103 libgles2-mesa-dev \
104 liblz4-dev \
105 libpng-dev \
106 libvulkan-dev \
107 libxcb-ewmh-dev \
108 libxcb-keysyms1-dev \
109 libxkbcommon-dev \
110 libxrandr-dev \
111 libxrender-dev \
112 meson \
113 pkg-config
114
115 apt-get autoremove -y --purge