diff options
author | Michel Dänzer <mdaenzer@redhat.com> | 2021-03-19 12:52:35 +0100 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-04-14 13:05:08 +0000 |
commit | af0fde955c518447ccd92134517b4e69308e10b2 (patch) | |
tree | 61dddde679bf2041da1908ae1e4f327ffeb7654a /.gitlab-ci | |
parent | a3e38e0bf8e6ae5340ef2ce80a66e764d74cb1ed (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.sh | 17 | ||||
-rw-r--r-- | .gitlab-ci/container/arm_test.sh | 6 | ||||
-rw-r--r-- | .gitlab-ci/container/build-apitrace.sh | 36 | ||||
-rw-r--r-- | .gitlab-ci/container/build-fossilize.sh | 2 | ||||
-rw-r--r-- | .gitlab-ci/container/build-libclc.sh | 4 | ||||
-rw-r--r-- | .gitlab-ci/container/create-rootfs.sh | 28 | ||||
-rw-r--r-- | .gitlab-ci/container/cross_build.sh | 28 | ||||
-rwxr-xr-x | .gitlab-ci/container/lava_build.sh | 53 | ||||
-rw-r--r-- | .gitlab-ci/container/llvm-snapshot.gpg.key | 52 | ||||
-rw-r--r-- | .gitlab-ci/container/x86_build-base.sh | 29 | ||||
-rw-r--r-- | .gitlab-ci/container/x86_build.sh | 46 | ||||
-rw-r--r-- | .gitlab-ci/container/x86_test-base.sh | 23 | ||||
-rw-r--r-- | .gitlab-ci/container/x86_test-gl.sh | 19 | ||||
-rw-r--r-- | .gitlab-ci/container/x86_test-vk.sh | 6 | ||||
-rw-r--r-- | .gitlab-ci/lava-gitlab-ci.yml | 2 | ||||
-rw-r--r-- | .gitlab-ci/lava.yml.jinja2 | 2 | ||||
-rwxr-xr-x | .gitlab-ci/piglit/run.sh | 6 |
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. |