summaryrefslogtreecommitdiff
path: root/.gitlab-ci
diff options
context:
space:
mode:
authorMichel Dänzer <mdaenzer@redhat.com>2021-03-19 12:52:35 +0100
committerMarge Bot <eric+marge@anholt.net>2021-04-14 13:05:08 +0000
commitaf0fde955c518447ccd92134517b4e69308e10b2 (patch)
tree61dddde679bf2041da1908ae1e4f327ffeb7654a /.gitlab-ci
parenta3e38e0bf8e6ae5340ef2ce80a66e764d74cb1ed (diff)
ci: Move docker images from Debian buster to bullseye
Among other things, this gets us GCC 10 (was 6). Requires some changes to third party components we use: * Install apitrace (& waffle) from Debian; was hitting issues with the local build, and it's the same version 9.0 anyway. * Update Fossilize to a newer commit which builds with GCC 10. * apt.llvm.org repositories are no longer needed. * Use an SPIRV-LLVM-Translator commit which builds with LLVM 11.0.1. * Install XCB packages from Debian, 1.13 fails to build with Python 3.9. * Install wayland-protocols from Debian, 1.12 is too old for libgtk-3-dev in bullseye. LLVM 7/8 packages are no longer available. Also adapt expected test results to Xvfb now exposing multi-samle GLXFBConfigs. v2: * Install clang instead of clang-11. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3124 Reviewed-by: Eric Anholt <eric@anholt.net> # v1 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9833>
Diffstat (limited to '.gitlab-ci')
-rw-r--r--.gitlab-ci/container/arm_build.sh17
-rw-r--r--.gitlab-ci/container/arm_test.sh6
-rw-r--r--.gitlab-ci/container/build-apitrace.sh36
-rw-r--r--.gitlab-ci/container/build-fossilize.sh2
-rw-r--r--.gitlab-ci/container/build-libclc.sh4
-rw-r--r--.gitlab-ci/container/create-rootfs.sh28
-rw-r--r--.gitlab-ci/container/cross_build.sh28
-rwxr-xr-x.gitlab-ci/container/lava_build.sh53
-rw-r--r--.gitlab-ci/container/llvm-snapshot.gpg.key52
-rw-r--r--.gitlab-ci/container/x86_build-base.sh29
-rw-r--r--.gitlab-ci/container/x86_build.sh46
-rw-r--r--.gitlab-ci/container/x86_test-base.sh23
-rw-r--r--.gitlab-ci/container/x86_test-gl.sh19
-rw-r--r--.gitlab-ci/container/x86_test-vk.sh6
-rw-r--r--.gitlab-ci/lava-gitlab-ci.yml2
-rw-r--r--.gitlab-ci/lava.yml.jinja22
-rwxr-xr-x.gitlab-ci/piglit/run.sh6
17 files changed, 120 insertions, 239 deletions
diff --git a/.gitlab-ci/container/arm_build.sh b/.gitlab-ci/container/arm_build.sh
index 89a06c52806..34688a95633 100644
--- a/.gitlab-ci/container/arm_build.sh
+++ b/.gitlab-ci/container/arm_build.sh
@@ -5,7 +5,7 @@ set -o xtrace
apt-get -y install ca-certificates
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
-echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
+echo 'deb https://deb.debian.org/debian buster main' >/etc/apt/sources.list.d/buster.list
apt-get update
EPHEMERAL="
@@ -15,7 +15,6 @@ EPHEMERAL="
apt-get -y install \
abootimg \
- android-sdk-ext4-utils \
autoconf \
automake \
bc \
@@ -28,7 +27,7 @@ apt-get -y install \
g++ \
git \
kmod \
- libasan5 \
+ libasan6 \
libdrm-dev \
libelf-dev \
libexpat1-dev \
@@ -46,9 +45,10 @@ apt-get -y install \
libxrandr-dev \
libxshmfence-dev \
libxxf86vm-dev \
- llvm-8-dev \
+ llvm-11-dev \
+ meson \
pkg-config \
- python \
+ python-is-python3 \
python3-aiohttp \
python3-jinja2 \
python3-mako \
@@ -68,10 +68,11 @@ apt-get -y install \
# Update lavacli to v1.1+
pip3 install git+https://git.lavasoftware.org/lava/lavacli@3db3ddc45e5358908bc6a17448059ea2340492b7
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366
+# Not available anymore in bullseye
+apt-get install -y --no-remove -t buster \
+ android-sdk-ext4-utils
-apt install -y --no-remove -t buster-backports \
- meson
+pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366
apt-get purge -y $EPHEMERAL
diff --git a/.gitlab-ci/container/arm_test.sh b/.gitlab-ci/container/arm_test.sh
index 9a53c8b6370..82744afd4db 100644
--- a/.gitlab-ci/container/arm_test.sh
+++ b/.gitlab-ci/container/arm_test.sh
@@ -15,10 +15,10 @@ apt-get install -y --no-remove \
netcat \
nginx-full \
procps \
+ python-is-python3 \
python3-distutils \
python3-minimal \
python3-serial \
- python3.7 \
rsync \
snmp \
unzip \
@@ -34,3 +34,7 @@ wget https://raw.githubusercontent.com/net-snmp/net-snmp/master/mibs/SNMPv2-SMI.
arch=arm64 . .gitlab-ci/container/baremetal_build.sh
arch=armhf . .gitlab-ci/container/baremetal_build.sh
+
+# This firmware file from Debian bullseye causes hangs
+wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a530_pfp.fw?id=d5f9eea5a251d43412b07f5295d03e97b89ac4a5 \
+ -O /rootfs-arm64/lib/firmware/qcom/a530_pfp.fw
diff --git a/.gitlab-ci/container/build-apitrace.sh b/.gitlab-ci/container/build-apitrace.sh
deleted file mode 100644
index 78a633c6a43..00000000000
--- a/.gitlab-ci/container/build-apitrace.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-
-set -ex
-
-# Need an unreleased version of Waffle for surfaceless support in apitrace
-# Replace this build with the Debian package once that's possible
-
-WAFFLE_VERSION="e3c995d9a2693b687501715b6550619922346089"
-git clone https://gitlab.freedesktop.org/mesa/waffle.git --single-branch --no-checkout /waffle
-pushd /waffle
-git checkout "$WAFFLE_VERSION"
-cmake -S . -B _build -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release $EXTRA_CMAKE_ARGS
-make -C _build install
-mkdir -p build/lib build/bin
-cp _build/lib/libwaffle-1.so build/lib/libwaffle-1.so.0
-cp _build/bin/wflinfo build/bin/wflinfo
-${STRIP_CMD:-strip} build/lib/* build/bin/*
-find . -not -path './build' -not -path './build/*' -delete
-popd
-
-APITRACE_VERSION="9.0"
-
-git clone https://github.com/apitrace/apitrace.git --single-branch --no-checkout /apitrace
-pushd /apitrace
-git checkout "$APITRACE_VERSION"
-# Note: The cmake stuff for waffle in apitrace fails to use waffle's library
-# directory. Just force the issue here.
-env LDFLAGS="-L/usr/local/lib" \
- cmake -S . -B _build -G Ninja -DCMAKE_BUILD_TYPE=Release -DENABLE_GUI=False -DENABLE_WAFFLE=on -DWaffle_DIR=/usr/local/lib/cmake/Waffle/ $EXTRA_CMAKE_ARGS
-ninja -C _build
-mkdir build
-cp _build/apitrace build
-cp _build/eglretrace build
-${STRIP_CMD:-strip} build/*
-find . -not -path './build' -not -path './build/*' -delete
-popd
diff --git a/.gitlab-ci/container/build-fossilize.sh b/.gitlab-ci/container/build-fossilize.sh
index 43a879e988e..2195c4bf570 100644
--- a/.gitlab-ci/container/build-fossilize.sh
+++ b/.gitlab-ci/container/build-fossilize.sh
@@ -4,7 +4,7 @@ set -ex
git clone https://github.com/ValveSoftware/Fossilize.git
cd Fossilize
-git checkout 6b5b570008c9ab5269e341f04c811fe49a1bb72c
+git checkout 72088685d90bc814d14aad5505354ffa8a642789
git submodule update --init
mkdir build
cd build
diff --git a/.gitlab-ci/container/build-libclc.sh b/.gitlab-ci/container/build-libclc.sh
index 596a4c88bcf..d534f147d20 100644
--- a/.gitlab-ci/container/build-libclc.sh
+++ b/.gitlab-ci/container/build-libclc.sh
@@ -6,8 +6,10 @@ export LLVM_CONFIG="llvm-config-11"
$LLVM_CONFIG --version
-git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator -b llvm_release_110 --depth 1 /SPIRV-LLVM-Translator
+git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator -b llvm_release_110 --single-branch --shallow-since=2020-11-12 /SPIRV-LLVM-Translator
pushd /SPIRV-LLVM-Translator
+# Last commit before bumping required LLVM version to 11.1.0
+git checkout 93032d36d2fe17befb7994714c07c67ea68efbea
cmake -S . -B . -G Ninja -DLLVM_BUILD_TOOLS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_INSTALL_PREFIX=`$LLVM_CONFIG --prefix`
ninja
ninja install
diff --git a/.gitlab-ci/container/create-rootfs.sh b/.gitlab-ci/container/create-rootfs.sh
index ab4fc33795e..5fb7f1a092d 100644
--- a/.gitlab-ci/container/create-rootfs.sh
+++ b/.gitlab-ci/container/create-rootfs.sh
@@ -5,12 +5,6 @@ set -ex
if [ $DEBIAN_ARCH = arm64 ]; then
ARCH_PACKAGES="firmware-qcom-media"
elif [ $DEBIAN_ARCH = amd64 ]; then
- # Upstream LLVM package repository
- apt-get -y install --no-install-recommends gnupg ca-certificates
- apt-key add /llvm-snapshot.gpg.key
- echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-11 main" >/etc/apt/sources.list.d/llvm11.list
- apt-get update
-
ARCH_PACKAGES="firmware-amd-graphics
libelf1
libllvm11
@@ -27,13 +21,15 @@ INSTALL_CI_FAIRY_PACKAGES="git
apt-get -y install --no-install-recommends \
$ARCH_PACKAGES \
$INSTALL_CI_FAIRY_PACKAGES \
+ apitrace \
ca-certificates \
curl \
+ firmware-realtek \
initramfs-tools \
- libasan5 \
+ libasan6 \
libexpat1 \
libpng16-16 \
- libpython3.7 \
+ libpython3.9 \
libsensors5 \
libvulkan1 \
libwaffle-1-0 \
@@ -66,6 +62,7 @@ apt-get -y install --no-install-recommends \
python3-yaml \
sntp \
strace \
+ waffle-utils \
wget \
xinit \
xserver-xorg-core \
@@ -88,9 +85,6 @@ exec sh
EOF
chmod +x /init
-mkdir -p /lib/firmware/rtl_nic
-wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtl_nic/rtl8153a-3.fw -O /lib/firmware/rtl_nic/rtl8153a-3.fw
-
#######################################################################
# Strip the image to a small minimal system without removing the debian
# toolchain.
@@ -103,10 +97,9 @@ find /lib/firmware -type f -print0 | \
rm -rf /etc/localtime
cp /usr/share/zoneinfo/Etc/UTC /etc/localtime
-UNNEEDED_PACKAGES="libfdisk1
- tzdata
- diffutils
- gnupg"
+UNNEEDED_PACKAGES="
+ libfdisk1
+ "
export DEBIAN_FRONTEND=noninteractive
@@ -184,7 +177,6 @@ UNNEEDED_PACKAGES="apt libapt-pkg6.0 "\
"libgles2-mesa-dev "\
"libglx-mesa0 "\
"mesa-common-dev "\
-"libz3-4 "\
# Removing unneeded packages
for PACKAGE in ${UNNEEDED_PACKAGES}
@@ -220,8 +212,8 @@ rm -rf usr/share/bash-completion
# No zsh, no need for comletions
rm -rf usr/share/zsh/vendor-completions
-# drop gcc-6 python helpers
-rm -rf usr/share/gcc-6
+# drop gcc python helpers
+rm -rf usr/share/gcc
# Drop sysvinit leftovers
rm -rf etc/init.d
diff --git a/.gitlab-ci/container/cross_build.sh b/.gitlab-ci/container/cross_build.sh
index c3831c80dda..29706fb737a 100644
--- a/.gitlab-ci/container/cross_build.sh
+++ b/.gitlab-ci/container/cross_build.sh
@@ -17,10 +17,8 @@ apt-get install -y --no-remove \
crossbuild-essential-$arch \
libelf-dev:$arch \
libexpat1-dev:$arch \
- libffi-dev:$arch \
libpciaccess-dev:$arch \
libstdc++6:$arch \
- libtinfo-dev:$arch \
libvulkan-dev:$arch \
libx11-dev:$arch \
libx11-xcb-dev:$arch \
@@ -39,8 +37,23 @@ apt-get install -y --no-remove \
wget
if [[ $arch != "armhf" ]]; then
- apt-get install -y --no-remove -t buster-backports \
- llvm-8-dev:$arch
+ if [[ $arch == "s390x" ]]; then
+ LLVM=9
+ else
+ LLVM=11
+ fi
+
+ # llvm-*-tools:$arch conflicts with python3:amd64. Install dependencies only
+ # with apt-get, then force-install llvm-*-{dev,tools}:$arch with dpkg to get
+ # around this.
+ apt-get install -y --no-remove \
+ libclang-cpp${LLVM}:$arch \
+ libffi-dev:$arch \
+ libgcc-s1:$arch \
+ libtinfo-dev:$arch \
+ libz3-dev:$arch \
+ llvm-${LLVM}:$arch \
+ zlib1g
fi
. .gitlab-ci/container/create-cross-file.sh $arch
@@ -57,3 +70,10 @@ apt-get purge -y \
$STABLE_EPHEMERAL
. .gitlab-ci/container/container_post_build.sh
+
+# This needs to be done after container_post_build.sh, or apt-get breaks in there
+if [[ $arch != "armhf" ]]; then
+ apt-get download llvm-${LLVM}-{dev,tools}:$arch
+ dpkg -i --force-depends llvm-${LLVM}-*_${arch}.deb
+ rm llvm-${LLVM}-*_${arch}.deb
+fi
diff --git a/.gitlab-ci/container/lava_build.sh b/.gitlab-ci/container/lava_build.sh
index ef6e0593b25..079321181cd 100755
--- a/.gitlab-ci/container/lava_build.sh
+++ b/.gitlab-ci/container/lava_build.sh
@@ -3,6 +3,8 @@
set -e
set -o xtrace
+export DEBIAN_FRONTEND=noninteractive
+
check_minio()
{
MINIO_PATH="${MINIO_HOST}/mesa-lava/$1/${MINIO_SUFFIX}/${DISTRIBUTION_TAG}/${DEBIAN_ARCH}"
@@ -65,7 +67,8 @@ if [[ -e /cross_file-$DEBIAN_ARCH.txt ]]; then
fi
apt-get update
-apt-get install -y automake \
+apt-get install -y --no-remove \
+ automake \
bc \
cmake \
debootstrap \
@@ -75,11 +78,13 @@ apt-get install -y automake \
libgbm-dev \
libgles2-mesa-dev \
libpcre3-dev \
- libpng-dev \
libpython3-dev \
libssl-dev \
+ libudev-dev \
libvulkan-dev \
libwaffle-dev \
+ libwayland-dev \
+ libx11-xcb-dev \
libxcb-keysyms1-dev \
libxkbcommon-dev \
patch \
@@ -88,23 +93,25 @@ apt-get install -y automake \
python3-mako \
python3-numpy \
python3-serial \
- qt5-default \
qt5-qmake \
qtbase5-dev \
wget
if [[ "$DEBIAN_ARCH" = "armhf" ]]; then
- apt-get install -y libboost-dev:armhf \
+ apt-get install -y --no-remove \
+ libboost-dev:armhf \
libegl1-mesa-dev:armhf \
libelf-dev:armhf \
libgbm-dev:armhf \
libgles2-mesa-dev:armhf \
libpcre3-dev:armhf \
- libpng-dev:armhf \
libpython3-dev:armhf \
+ libudev-dev:armhf \
libvulkan-dev:armhf \
libwaffle-dev:armhf \
+ libwayland-dev:armhf \
+ libx11-xcb-dev:armhf \
libxcb-keysyms1-dev:armhf \
libxkbcommon-dev:armhf \
qtbase5-dev:armhf
@@ -134,17 +141,6 @@ mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/.
mv /piglit /lava-files/rootfs-${DEBIAN_ARCH}/.
-############### Build apitrace
-. .gitlab-ci/container/build-apitrace.sh
-mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/apitrace
-mv /apitrace/build /lava-files/rootfs-${DEBIAN_ARCH}/apitrace
-rm -rf /apitrace
-
-mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/waffle
-mv /waffle/build /lava-files/rootfs-${DEBIAN_ARCH}/waffle
-rm -rf /waffle
-
-
############### Build renderdoc
EXTRA_CMAKE_ARGS+=" -DENABLE_XCB=false"
. .gitlab-ci/container/build-renderdoc.sh
@@ -215,22 +211,21 @@ rm -rf /root/.rustup /root/.cargo
############### Create rootfs
set +e
-debootstrap \
- --variant=minbase \
- --arch=${DEBIAN_ARCH} \
+if ! debootstrap \
+ --variant=minbase \
+ --arch=${DEBIAN_ARCH} \
--components main,contrib,non-free \
- buster \
- /lava-files/rootfs-${DEBIAN_ARCH}/ \
- http://deb.debian.org/debian
-
-cat /lava-files/rootfs-${DEBIAN_ARCH}/debootstrap/debootstrap.log
+ bullseye \
+ /lava-files/rootfs-${DEBIAN_ARCH}/ \
+ http://deb.debian.org/debian; then
+ cat /lava-files/rootfs-${DEBIAN_ARCH}/debootstrap/debootstrap.log
+ exit 1
+fi
set -e
cp .gitlab-ci/container/create-rootfs.sh /lava-files/rootfs-${DEBIAN_ARCH}/.
-cp .gitlab-ci/container/llvm-snapshot.gpg.key /lava-files/rootfs-${DEBIAN_ARCH}/.
chroot /lava-files/rootfs-${DEBIAN_ARCH} sh /create-rootfs.sh
rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
-rm /lava-files/rootfs-${DEBIAN_ARCH}/llvm-snapshot.gpg.key
############### Install the built libdrm
@@ -246,12 +241,6 @@ if [ ${DEBIAN_ARCH} = arm64 ] && [ ${MINIO_SUFFIX} = baremetal ]; then
# Make a gzipped copy of the Image for db410c.
gzip -k /lava-files/Image
KERNEL_IMAGE_NAME+=" Image.gz"
-
- # Add missing a630 firmware, added to debian packge in apr 2020
- wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_gmu.bin \
- -O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_gmu.bin
- wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_sqe.fw \
- -O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_sqe.fw
fi
du -ah /lava-files/rootfs-${DEBIAN_ARCH} | sort -h | tail -100
diff --git a/.gitlab-ci/container/llvm-snapshot.gpg.key b/.gitlab-ci/container/llvm-snapshot.gpg.key
deleted file mode 100644
index aa6b105aa3d..00000000000
--- a/.gitlab-ci/container/llvm-snapshot.gpg.key
+++ /dev/null
@@ -1,52 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.12 (GNU/Linux)
-
-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
-bXb5c6gCHESH5PXwPU4jQEE7Ib9J6sbk7ZT2Mw==
-=j+4q
------END PGP PUBLIC KEY BLOCK-----
diff --git a/.gitlab-ci/container/x86_build-base.sh b/.gitlab-ci/container/x86_build-base.sh
index 61017cde904..ed815067b7f 100644
--- a/.gitlab-ci/container/x86_build-base.sh
+++ b/.gitlab-ci/container/x86_build-base.sh
@@ -5,17 +5,9 @@ set -o xtrace
export DEBIAN_FRONTEND=noninteractive
-apt-get install -y \
- ca-certificates \
- gnupg
-
-# Upstream LLVM package repository
-apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key
-echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
-echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-11 main" >/etc/apt/sources.list.d/llvm11.list
+apt-get install -y ca-certificates
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
-echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
# Ephemeral packages (installed for this script and removed again at
# the end)
@@ -31,7 +23,6 @@ apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
bison \
ccache \
- clang-11 \
dpkg-cross \
flex \
g++ \
@@ -47,6 +38,7 @@ apt-get install -y --no-remove \
libexpat1-dev \
libgtk-3-dev \
libllvm11 \
+ libllvm9 \
libomxil-bellagio-dev \
libpciaccess-dev \
libunwind-dev \
@@ -63,27 +55,24 @@ apt-get install -y --no-remove \
libxvmc-dev \
libxxf86vm-dev \
libz-mingw-w64-dev \
- llvm-9-dev \
+ make \
+ meson \
pkg-config \
- python-mako \
+ python-is-python3 \
python3-mako \
python3-pil \
python3-requests \
qemu-user \
valgrind \
+ wayland-protocols \
wget \
- wine64-development \
+ wine64 \
x11proto-dri2-dev \
x11proto-gl-dev \
x11proto-randr-dev \
xz-utils \
zlib1g-dev
-apt-get install -y --no-remove -t buster-backports \
- libclang-8-dev \
- libllvm8 \
- meson
-
# Needed for ci-fairy, this revision is able to upload files to MinIO
pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366
@@ -96,8 +85,6 @@ rm bin/glslangValidator glslang-master-linux-Release.zip
############### Uninstall ephemeral packages
-apt-get purge -y \
- $STABLE_EPHEMERAL \
- gnupg
+apt-get purge -y $STABLE_EPHEMERAL
. .gitlab-ci/container/container_post_build.sh
diff --git a/.gitlab-ci/container/x86_build.sh b/.gitlab-ci/container/x86_build.sh
index 462a974698f..9fc58447934 100644
--- a/.gitlab-ci/container/x86_build.sh
+++ b/.gitlab-ci/container/x86_build.sh
@@ -12,12 +12,9 @@ STABLE_EPHEMERAL=" \
autotools-dev \
bzip2 \
cmake \
- gnupg \
libgbm-dev \
libtool \
- make \
unzip \
- wget \
"
# We need multiarch for Wine
@@ -26,21 +23,29 @@ apt-get update
apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
- libasan5 \
+ clang \
+ libasan6 \
libarchive-dev \
libclang-cpp11-dev \
liblua5.3-dev \
+ libxcb-dri2-0-dev \
+ libxcb-dri3-dev \
+ libxcb-glx0-dev \
+ libxcb-present-dev \
+ libxcb-randr0-dev \
+ libxcb-shm0-dev \
+ libxcb-sync-dev \
+ libxcb-xfixes0-dev \
+ libxcb1-dev \
libxml2-dev \
llvm-11-dev \
+ llvm-9-dev \
ocl-icd-opencl-dev \
procps \
strace \
time \
- wine-development \
- wine32-development
-
-apt-get install -y --no-remove -t buster-backports \
- llvm-8-dev
+ wine \
+ wine32
. .gitlab-ci/container/container_pre_build.sh
@@ -59,30 +64,16 @@ chmod +x /usr/local/bin/x86_64-w64-mingw32-pkg-config
# dependencies where we want a specific version
export XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
-export XCB_RELEASES=https://xcb.freedesktop.org/dist
export WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
export XORGMACROS_VERSION=util-macros-1.19.0
-export XCBPROTO_VERSION=xcb-proto-1.13
-export LIBXCB_VERSION=libxcb-1.13
export LIBWAYLAND_VERSION=wayland-1.18.0
-export WAYLAND_PROTOCOLS_VERSION=wayland-protocols-1.12
wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2
cd $XORGMACROS_VERSION; ./configure; make install; cd ..
rm -rf $XORGMACROS_VERSION
-wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2
-tar -xvf $XCBPROTO_VERSION.tar.bz2 && rm $XCBPROTO_VERSION.tar.bz2
-cd $XCBPROTO_VERSION; ./configure; make install; cd ..
-rm -rf $XCBPROTO_VERSION
-
-wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2
-tar -xvf $LIBXCB_VERSION.tar.bz2 && rm $LIBXCB_VERSION.tar.bz2
-cd $LIBXCB_VERSION; ./configure; make install; cd ..
-rm -rf $LIBXCB_VERSION
-
. .gitlab-ci/container/build-libdrm.sh
wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
@@ -90,11 +81,6 @@ tar -xvf $LIBWAYLAND_VERSION.tar.xz && rm $LIBWAYLAND_VERSION.tar.xz
cd $LIBWAYLAND_VERSION; ./configure --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation; make install; cd ..
rm -rf $LIBWAYLAND_VERSION
-wget $WAYLAND_RELEASES/$WAYLAND_PROTOCOLS_VERSION.tar.xz
-tar -xvf $WAYLAND_PROTOCOLS_VERSION.tar.xz && rm $WAYLAND_PROTOCOLS_VERSION.tar.xz
-cd $WAYLAND_PROTOCOLS_VERSION; ./configure; make install; cd ..
-rm -rf $WAYLAND_PROTOCOLS_VERSION
-
# The version of libglvnd-dev in debian is too old
# Check this page to see when this local compilation can be dropped in favour of the package:
@@ -107,8 +93,10 @@ rm -rf libglvnd-v$GLVND_VERSION
. .gitlab-ci/container/build-spirv-tools.sh
-git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator -b llvm_release_110 --depth 1
+git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator -b llvm_release_110 --single-branch --shallow-since=2020-11-12
pushd SPIRV-LLVM-Translator
+# Last commit before bumping required LLVM version to 11.1.0
+git checkout 93032d36d2fe17befb7994714c07c67ea68efbea
cmake -S . -B . -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC
ninja
ninja install
diff --git a/.gitlab-ci/container/x86_test-base.sh b/.gitlab-ci/container/x86_test-base.sh
index c1e2e467f4d..d0c3f1a05f4 100644
--- a/.gitlab-ci/container/x86_test-base.sh
+++ b/.gitlab-ci/container/x86_test-base.sh
@@ -5,17 +5,9 @@ set -o xtrace
export DEBIAN_FRONTEND=noninteractive
-apt-get install -y \
- ca-certificates \
- gnupg
-
-# Upstream LLVM package repository
-apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key
-echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
-echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-11 main" >/etc/apt/sources.list.d/llvm11.list
+apt-get install -y ca-certificates
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
-echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
# Ephemeral packages (installed for this script and removed again at
# the end)
@@ -32,14 +24,14 @@ apt-get dist-upgrade -y
apt-get install -y --no-remove \
git \
git-lfs \
- libasan5 \
+ libasan6 \
libexpat1 \
libllvm11 \
libllvm9 \
liblz4-1 \
libpcre32-3 \
libpng16-16 \
- libpython3.7 \
+ libpython3.9 \
libvulkan1 \
libwayland-client0 \
libwayland-server0 \
@@ -50,7 +42,7 @@ apt-get install -y --no-remove \
libxkbcommon0 \
libxrandr2 \
libxrender1 \
- python \
+ python-is-python3 \
python3-mako \
python3-numpy \
python3-packaging \
@@ -58,8 +50,7 @@ apt-get install -y --no-remove \
python3-requests \
python3-six \
python3-yaml \
- python3.7 \
- qt5-default \
+ qtbase5-dev \
qt5-qmake \
vulkan-tools \
waffle-utils \
@@ -74,8 +65,6 @@ apt-get install -y --no-install-recommends \
# and doesn't depend on git
pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@0f1abc24c043e63894085a6bd12f14263e8b29eb
-apt-get purge -y \
- $STABLE_EPHEMERAL \
- gnupg
+apt-get purge -y $STABLE_EPHEMERAL
apt-get autoremove -y --purge
diff --git a/.gitlab-ci/container/x86_test-gl.sh b/.gitlab-ci/container/x86_test-gl.sh
index fa53f910626..4149a82eee0 100644
--- a/.gitlab-ci/container/x86_test-gl.sh
+++ b/.gitlab-ci/container/x86_test-gl.sh
@@ -18,9 +18,11 @@ STABLE_EPHEMERAL=" \
libgles2-mesa-dev \
libpcre3-dev \
libpciaccess-dev \
- libpng-dev \
+ libudev-dev \
libvulkan-dev \
libwaffle-dev \
+ libwayland-dev \
+ libx11-xcb-dev \
libxcb-keysyms1-dev \
libxkbcommon-dev \
libxrender-dev \
@@ -31,13 +33,14 @@ STABLE_EPHEMERAL=" \
patch \
pkg-config \
python3-distutils \
- python3.7-dev \
+ python3-dev \
wget \
xz-utils \
"
apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
+ apitrace \
clinfo \
libclang-common-11-dev \
libclang-cpp11 \
@@ -50,6 +53,10 @@ apt-get install -y --no-remove \
. .gitlab-ci/container/container_pre_build.sh
+############### Build libdrm
+
+. .gitlab-ci/container/build-libdrm.sh
+
############### Build spirv-tools (debian too old)
. .gitlab-ci/container/build-spirv-tools.sh
@@ -75,18 +82,10 @@ rm -rf /root/.rustup /root/.cargo
DEQP_TARGET=surfaceless . .gitlab-ci/container/build-deqp.sh
-############### Build apitrace
-
-. .gitlab-ci/container/build-apitrace.sh
-
############### Build renderdoc
. .gitlab-ci/container/build-renderdoc.sh
-############### Build libdrm
-
-. .gitlab-ci/container/build-libdrm.sh
-
############### Uninstall the build software
ccache --show-stats
diff --git a/.gitlab-ci/container/x86_test-vk.sh b/.gitlab-ci/container/x86_test-vk.sh
index 7d41fa78c75..7274a2ba563 100644
--- a/.gitlab-ci/container/x86_test-vk.sh
+++ b/.gitlab-ci/container/x86_test-vk.sh
@@ -14,9 +14,11 @@ STABLE_EPHEMERAL=" \
libgles2-mesa-dev \
liblz4-dev \
libpciaccess-dev \
- libpng-dev \
+ libudev-dev \
libvulkan-dev \
libwaffle-dev \
+ libwayland-dev \
+ libx11-xcb-dev \
libxcb-ewmh-dev \
libxcb-keysyms1-dev \
libxkbcommon-dev \
@@ -77,7 +79,7 @@ rm crashdialog.reg
# system.reg file, which fails.
# Just giving it a bit more of time for it to be created solves the
# problem ...
-test -f "${WINEPREFIX}/system.reg" || sleep 2
+while ! test -f "${WINEPREFIX}/system.reg"; do sleep 1; done
wget "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VERSION}/dxvk-${DXVK_VERSION}.tar.gz"
tar xzpf dxvk-"${DXVK_VERSION}".tar.gz
diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml
index aa9573f4f59..b6f9283804f 100644
--- a/.gitlab-ci/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava-gitlab-ci.yml
@@ -14,7 +14,7 @@
variables:
KERNEL_URL: "https://gitlab.freedesktop.org/tomeu/linux/-/archive/v5.10-rc2-for-mesa-ci/linux-v5.10-rc2-for-mesa-ci.tar.gz"
INSTALL_KERNEL_MODULES: 1
- MESA_ROOTFS_TAG: &lava-rootfs "2021-04-14-llvm11"
+ MESA_ROOTFS_TAG: &lava-rootfs "2021-04-14-bullseye"
MINIO_SUFFIX: "lava"
PIGLIT_BUILD_TARGETS: "piglit_replayer"
diff --git a/.gitlab-ci/lava.yml.jinja2 b/.gitlab-ci/lava.yml.jinja2
index cee4529c306..a36c1392447 100644
--- a/.gitlab-ci/lava.yml.jinja2
+++ b/.gitlab-ci/lava.yml.jinja2
@@ -72,6 +72,8 @@ actions:
- mount -t devtmpfs none /dev || echo possibly already mounted
- mkdir -p /dev/pts
- mount -t devpts devpts /dev/pts
+ - mkdir -p /dev/shm
+ - mount -t tmpfs tmpfs /dev/shm
- echo "nameserver 8.8.8.8" > /etc/resolv.conf
- for i in 1 2 3; do sntp -sS pool.ntp.org && break || sleep 2; done
diff --git a/.gitlab-ci/piglit/run.sh b/.gitlab-ci/piglit/run.sh
index 6bc3fc9ed94..a7b49a91d21 100755
--- a/.gitlab-ci/piglit/run.sh
+++ b/.gitlab-ci/piglit/run.sh
@@ -74,12 +74,6 @@ else
# Set up the platform windowing system.
- # Set environment for the waffle library.
- export __LD_LIBRARY_PATH="/waffle/build/lib:$__LD_LIBRARY_PATH"
-
- # Set environment for wflinfo executable.
- export PATH="/waffle/build/bin:$PATH"
-
if [ "x$EGL_PLATFORM" = "xsurfaceless" ]; then
# Use the surfaceless EGL platform.