mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 05:10:11 +01:00
ci: Delete the kernel+rootfs jobs
LAVA and baremetal now use the test-* containers as the base for their rootfs. Signed-off-by: Valentine Burley <valentine.burley@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451>
This commit is contained in:
parent
13db56320b
commit
26bc35c8f9
21 changed files with 7 additions and 490 deletions
|
|
@ -381,7 +381,6 @@ sanity:
|
||||||
DEBIAN_TEST_GL_TAG
|
DEBIAN_TEST_GL_TAG
|
||||||
DEBIAN_TEST_VK_TAG
|
DEBIAN_TEST_VK_TAG
|
||||||
FEDORA_X86_64_BUILD_TAG
|
FEDORA_X86_64_BUILD_TAG
|
||||||
KERNEL_ROOTFS_TAG
|
|
||||||
KERNEL_TAG
|
KERNEL_TAG
|
||||||
PKG_REPO_REV
|
PKG_REPO_REV
|
||||||
WINDOWS_X64_BUILD_TAG
|
WINDOWS_X64_BUILD_TAG
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
variables:
|
variables:
|
||||||
CONDITIONAL_BUILD_ANGLE_TAG: e7c547147880538db994f480292364c7
|
CONDITIONAL_BUILD_ANGLE_TAG: be4f59328ef607bcbf5048a3f6f27410
|
||||||
CONDITIONAL_BUILD_PIGLIT_TAG: 2fb6336d546595b0f1cd811db2797155
|
CONDITIONAL_BUILD_PIGLIT_TAG: a19e424b8a3f020dbf1b9dd29f220a4f
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@
|
||||||
# .gitlab-ci/image-tags.yml tags:
|
# .gitlab-ci/image-tags.yml tags:
|
||||||
# DEBIAN_TEST_ANDROID_TAG
|
# DEBIAN_TEST_ANDROID_TAG
|
||||||
# DEBIAN_TEST_GL_TAG
|
# DEBIAN_TEST_GL_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
set -uex
|
set -uex
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
# DEBIAN_BASE_TAG
|
# DEBIAN_BASE_TAG
|
||||||
# DEBIAN_TEST_GL_TAG
|
# DEBIAN_TEST_GL_TAG
|
||||||
# DEBIAN_TEST_VK_TAG
|
# DEBIAN_TEST_VK_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
set -uex
|
set -uex
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
# .gitlab-ci/image-tags.yml tags:
|
# .gitlab-ci/image-tags.yml tags:
|
||||||
# DEBIAN_TEST_ANDROID_TAG
|
# DEBIAN_TEST_ANDROID_TAG
|
||||||
# DEBIAN_BASE_TAG
|
# DEBIAN_BASE_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
set -uex
|
set -uex
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
# DEBIAN_TEST_ANDROID_TAG
|
# DEBIAN_TEST_ANDROID_TAG
|
||||||
# DEBIAN_TEST_GL_TAG
|
# DEBIAN_TEST_GL_TAG
|
||||||
# DEBIAN_TEST_VK_TAG
|
# DEBIAN_TEST_VK_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
set -ue -o pipefail
|
set -ue -o pipefail
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
# When changing this file, you need to bump the following
|
# When changing this file, you need to bump the following
|
||||||
# .gitlab-ci/image-tags.yml tags:
|
# .gitlab-ci/image-tags.yml tags:
|
||||||
# DEBIAN_TEST_VK_TAG
|
# DEBIAN_TEST_VK_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ set -ex
|
||||||
# DEBIAN_BASE_TAG
|
# DEBIAN_BASE_TAG
|
||||||
# DEBIAN_BUILD_TAG
|
# DEBIAN_BUILD_TAG
|
||||||
# FEDORA_X86_64_BUILD_TAG
|
# FEDORA_X86_64_BUILD_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
uncollapsed_section_start mold "Building mold"
|
uncollapsed_section_start mold "Building mold"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ uncollapsed_section_start piglit "Building piglit"
|
||||||
# .gitlab-ci/image-tags.yml tags:
|
# .gitlab-ci/image-tags.yml tags:
|
||||||
# DEBIAN_TEST_GL_TAG
|
# DEBIAN_TEST_GL_TAG
|
||||||
# DEBIAN_TEST_VK_TAG
|
# DEBIAN_TEST_VK_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
# Do a very early check to make sure the tag is correct without the need of
|
# Do a very early check to make sure the tag is correct without the need of
|
||||||
# setting up the environment variables locally
|
# setting up the environment variables locally
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@
|
||||||
# When changing this file, you need to bump the following
|
# When changing this file, you need to bump the following
|
||||||
# .gitlab-ci/image-tags.yml tags:
|
# .gitlab-ci/image-tags.yml tags:
|
||||||
# DEBIAN_TEST_GL_TAG
|
# DEBIAN_TEST_GL_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
set -uex
|
set -uex
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@
|
||||||
# When changing this file, you need to bump the following
|
# When changing this file, you need to bump the following
|
||||||
# .gitlab-ci/image-tags.yml tags:
|
# .gitlab-ci/image-tags.yml tags:
|
||||||
# DEBIAN_TEST_VIDEO_TAG
|
# DEBIAN_TEST_VIDEO_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
set -uex
|
set -uex
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
# When changing this file, you need to bump the following
|
# When changing this file, you need to bump the following
|
||||||
# .gitlab-ci/image-tags.yml tags:
|
# .gitlab-ci/image-tags.yml tags:
|
||||||
# DEBIAN_TEST_GL_TAG
|
# DEBIAN_TEST_GL_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
set -uex
|
set -uex
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,6 @@ uncollapsed_section_start wayland "Building Wayland"
|
||||||
# DEBIAN_TEST_GL_TAG
|
# DEBIAN_TEST_GL_TAG
|
||||||
# DEBIAN_TEST_VK_TAG
|
# DEBIAN_TEST_VK_TAG
|
||||||
# FEDORA_X86_64_BUILD_TAG
|
# FEDORA_X86_64_BUILD_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
export LIBWAYLAND_VERSION="1.21.0"
|
export LIBWAYLAND_VERSION="1.21.0"
|
||||||
export WAYLAND_PROTOCOLS_VERSION="1.41"
|
export WAYLAND_PROTOCOLS_VERSION="1.41"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
# When changing this file, you need to bump the following
|
# When changing this file, you need to bump the following
|
||||||
# .gitlab-ci/image-tags.yml tags:
|
# .gitlab-ci/image-tags.yml tags:
|
||||||
# DEBIAN_BASE_TAG
|
# DEBIAN_BASE_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,6 @@ debian/x86_64_build-base:
|
||||||
variables:
|
variables:
|
||||||
MESA_BASE_IMAGE: "debian/x86_64_build-base"
|
MESA_BASE_IMAGE: "debian/x86_64_build-base"
|
||||||
MESA_BASE_TAG: *debian-x86_64_build-base
|
MESA_BASE_TAG: *debian-x86_64_build-base
|
||||||
MESA_ARTIFACTS_BASE_TAG: *debian-x86_64_build-base
|
|
||||||
LLVM_VERSION: *debian-x86_64-llvm
|
LLVM_VERSION: *debian-x86_64-llvm
|
||||||
needs:
|
needs:
|
||||||
- debian/x86_64_build-base
|
- debian/x86_64_build-base
|
||||||
|
|
@ -644,49 +643,6 @@ debian/arm64_test-vk:
|
||||||
variables:
|
variables:
|
||||||
FIRMWARE_FILES: |
|
FIRMWARE_FILES: |
|
||||||
|
|
||||||
.kernel+rootfs:
|
|
||||||
extends:
|
|
||||||
- .container+build-rules
|
|
||||||
- .debian-container-version
|
|
||||||
stage: container
|
|
||||||
timeout: 120m
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: fetch
|
|
||||||
MESA_ROOTFS_TAG: &kernel-rootfs ${KERNEL_ROOTFS_TAG}
|
|
||||||
DISTRIBUTION_TAG: &distribution-tag-arm "${MESA_ROOTFS_TAG}--${KERNEL_TAG}--${MESA_ARTIFACTS_TAG}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
script:
|
|
||||||
- .gitlab-ci/container/lava_build.sh
|
|
||||||
|
|
||||||
kernel+rootfs_x86_64:
|
|
||||||
extends:
|
|
||||||
- .use-debian/x86_64_build-base
|
|
||||||
- .kernel+rootfs
|
|
||||||
- .firmware_x86_64
|
|
||||||
- .container-builds-x86_64
|
|
||||||
image: "$FDO_BASE_IMAGE"
|
|
||||||
variables:
|
|
||||||
DEBIAN_ARCH: "amd64"
|
|
||||||
DISTRIBUTION_TAG: &distribution-tag-x86_64 "${MESA_ROOTFS_TAG}--${KERNEL_TAG}--${MESA_ARTIFACTS_BASE_TAG}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
LLVM_VERSION: *debian-x86_64-llvm
|
|
||||||
|
|
||||||
kernel+rootfs_arm64:
|
|
||||||
extends:
|
|
||||||
- .use-debian/arm64_build
|
|
||||||
- .kernel+rootfs
|
|
||||||
- .firmware_arm64
|
|
||||||
- .container-builds-arm64
|
|
||||||
variables:
|
|
||||||
DEBIAN_ARCH: "arm64"
|
|
||||||
LLVM_VERSION: *debian-arm64-llvm
|
|
||||||
|
|
||||||
kernel+rootfs_arm32:
|
|
||||||
extends:
|
|
||||||
- kernel+rootfs_arm64
|
|
||||||
- .firmware_arm32
|
|
||||||
variables:
|
|
||||||
DEBIAN_ARCH: "armhf"
|
|
||||||
LLVM_VERSION: &debian-arm32-llvm 15 # no armhf builds for LLVM
|
|
||||||
|
|
||||||
# x86_64 image with ARM64 & ARM32 kernel & rootfs for baremetal testing
|
# x86_64 image with ARM64 & ARM32 kernel & rootfs for baremetal testing
|
||||||
.debian/baremetal_arm_test:
|
.debian/baremetal_arm_test:
|
||||||
extends:
|
extends:
|
||||||
|
|
|
||||||
|
|
@ -1,418 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# shellcheck disable=SC1091 # The relative paths in this file only become valid at runtime.
|
|
||||||
# shellcheck disable=SC2034 # Variables are used in scripts called from here
|
|
||||||
# shellcheck disable=SC2086 # we want word splitting
|
|
||||||
# shellcheck disable=SC2016 # non-expanded variables are intentional
|
|
||||||
# When changing this file, you need to bump the following
|
|
||||||
# .gitlab-ci/image-tags.yml tags:
|
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
# If you need to update the fluster vectors cache without updating the fluster revision,
|
|
||||||
# you can update the FLUSTER_VECTORS_VERSION tag in .gitlab-ci/image-tags.yml.
|
|
||||||
# When changing FLUSTER_REVISION, KERNEL_ROOTFS_TAG needs to be updated as well to rebuild
|
|
||||||
# the rootfs.
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
. .gitlab-ci/setup-test-env.sh
|
|
||||||
|
|
||||||
set -o xtrace
|
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
: "${LLVM_VERSION:?llvm version not set!}"
|
|
||||||
export FIRMWARE_FILES="${FIRMWARE_FILES}"
|
|
||||||
|
|
||||||
check_minio()
|
|
||||||
{
|
|
||||||
S3_PATH="${S3_HOST}/${S3_KERNEL_BUCKET}/$1/${DISTRIBUTION_TAG}/${DEBIAN_ARCH}"
|
|
||||||
if curl -L --retry 4 -f --retry-delay 60 -s \
|
|
||||||
"https://${S3_PATH}/done"; then
|
|
||||||
echo "Remote files are up-to-date, skip rebuilding them."
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
check_minio "${FDO_UPSTREAM_REPO}"
|
|
||||||
check_minio "${CI_PROJECT_PATH}"
|
|
||||||
|
|
||||||
. .gitlab-ci/container/container_pre_build.sh
|
|
||||||
|
|
||||||
# Install rust, which we'll be using for deqp-runner. It will be cleaned up at the end.
|
|
||||||
. .gitlab-ci/container/build-rust.sh
|
|
||||||
|
|
||||||
if [[ "$DEBIAN_ARCH" = "arm64" ]]; then
|
|
||||||
BUILD_CL="ON"
|
|
||||||
BUILD_VK="ON"
|
|
||||||
GCC_ARCH="aarch64-linux-gnu"
|
|
||||||
KERNEL_ARCH="arm64"
|
|
||||||
|
|
||||||
elif [[ "$DEBIAN_ARCH" = "armhf" ]]; then
|
|
||||||
BUILD_CL="OFF"
|
|
||||||
BUILD_VK="OFF"
|
|
||||||
GCC_ARCH="arm-linux-gnueabihf"
|
|
||||||
KERNEL_ARCH="arm"
|
|
||||||
. .gitlab-ci/container/create-cross-file.sh armhf
|
|
||||||
CONTAINER_ARCH_PACKAGES=(
|
|
||||||
libegl1-mesa-dev:armhf
|
|
||||||
libelf-dev:armhf
|
|
||||||
libgbm-dev:armhf
|
|
||||||
libgles2-mesa-dev:armhf
|
|
||||||
libpng-dev:armhf
|
|
||||||
libudev-dev:armhf
|
|
||||||
libvulkan-dev:armhf
|
|
||||||
libwaffle-dev:armhf
|
|
||||||
libwayland-dev:armhf
|
|
||||||
libx11-xcb-dev:armhf
|
|
||||||
libxkbcommon-dev:armhf
|
|
||||||
)
|
|
||||||
else
|
|
||||||
BUILD_CL="ON"
|
|
||||||
BUILD_VK="ON"
|
|
||||||
GCC_ARCH="x86_64-linux-gnu"
|
|
||||||
KERNEL_ARCH="x86_64"
|
|
||||||
CONTAINER_ARCH_PACKAGES=(
|
|
||||||
libasound2-dev libcap-dev libfdt-dev libva-dev p7zip wine
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Determine if we're in a cross build.
|
|
||||||
if [[ -e /cross_file-$DEBIAN_ARCH.txt ]]; then
|
|
||||||
EXTRA_MESON_ARGS="--cross-file /cross_file-$DEBIAN_ARCH.txt"
|
|
||||||
EXTRA_CMAKE_ARGS="-DCMAKE_TOOLCHAIN_FILE=/toolchain-$DEBIAN_ARCH.cmake"
|
|
||||||
|
|
||||||
if [ $DEBIAN_ARCH = arm64 ]; then
|
|
||||||
RUST_TARGET="aarch64-unknown-linux-gnu"
|
|
||||||
elif [ $DEBIAN_ARCH = armhf ]; then
|
|
||||||
RUST_TARGET="armv7-unknown-linux-gnueabihf"
|
|
||||||
fi
|
|
||||||
rustup target add $RUST_TARGET
|
|
||||||
export EXTRA_CARGO_ARGS="--target $RUST_TARGET"
|
|
||||||
|
|
||||||
export ARCH=${KERNEL_ARCH}
|
|
||||||
export CROSS_COMPILE="${GCC_ARCH}-"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# no need to remove these at end, image isn't saved at the end
|
|
||||||
CONTAINER_EPHEMERAL=(
|
|
||||||
arch-test
|
|
||||||
automake
|
|
||||||
bc
|
|
||||||
"clang-${LLVM_VERSION}"
|
|
||||||
cmake
|
|
||||||
curl
|
|
||||||
mmdebstrap
|
|
||||||
git
|
|
||||||
glslang-tools
|
|
||||||
jq
|
|
||||||
libdrm-dev
|
|
||||||
libegl1-mesa-dev
|
|
||||||
libxext-dev
|
|
||||||
libfontconfig-dev
|
|
||||||
libgbm-dev
|
|
||||||
libgl-dev
|
|
||||||
libgles2-mesa-dev
|
|
||||||
libglu1-mesa-dev
|
|
||||||
libglx-dev
|
|
||||||
libpng-dev
|
|
||||||
libssl-dev
|
|
||||||
libudev-dev
|
|
||||||
libvulkan-dev
|
|
||||||
libwaffle-dev
|
|
||||||
libwayland-dev
|
|
||||||
libx11-xcb-dev
|
|
||||||
libxcb-dri2-0-dev
|
|
||||||
libxkbcommon-dev
|
|
||||||
libwayland-dev
|
|
||||||
"lld-${LLVM_VERSION}"
|
|
||||||
ninja-build
|
|
||||||
openssh-server
|
|
||||||
patch
|
|
||||||
protobuf-compiler
|
|
||||||
python-is-python3
|
|
||||||
python3-distutils
|
|
||||||
python3-mako
|
|
||||||
python3-numpy
|
|
||||||
python3-serial
|
|
||||||
python3-venv
|
|
||||||
unzip
|
|
||||||
wayland-protocols
|
|
||||||
zstd
|
|
||||||
)
|
|
||||||
|
|
||||||
[ "$BUILD_CL" == "ON" ] && CONTAINER_EPHEMERAL+=(
|
|
||||||
ocl-icd-opencl-dev
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
echo "deb [trusted=yes] https://gitlab.freedesktop.org/gfx-ci/ci-deb-repo/-/raw/${PKG_REPO_REV}/ ${FDO_DISTRIBUTION_VERSION%-*} main" | tee /etc/apt/sources.list.d/gfx-ci_.list
|
|
||||||
|
|
||||||
. .gitlab-ci/container/debian/maybe-add-llvm-repo.sh
|
|
||||||
|
|
||||||
apt-get update
|
|
||||||
apt-get install -y --no-remove \
|
|
||||||
-o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' \
|
|
||||||
"${CONTAINER_EPHEMERAL[@]}" \
|
|
||||||
"${CONTAINER_ARCH_PACKAGES[@]}" \
|
|
||||||
${EXTRA_LOCAL_PACKAGES}
|
|
||||||
|
|
||||||
export ROOTFS=/lava-files/rootfs-${DEBIAN_ARCH}
|
|
||||||
mkdir -p "$ROOTFS"
|
|
||||||
|
|
||||||
# rootfs packages
|
|
||||||
PKG_BASE=(
|
|
||||||
tzdata mount
|
|
||||||
)
|
|
||||||
PKG_CI=(
|
|
||||||
firmware-realtek
|
|
||||||
bash ca-certificates curl
|
|
||||||
initramfs-tools jq netcat-openbsd dropbear openssh-server
|
|
||||||
libasan8
|
|
||||||
libubsan1
|
|
||||||
git
|
|
||||||
python3-dev python3-pip python3-setuptools python3-wheel
|
|
||||||
weston # Wayland
|
|
||||||
xinit xserver-xorg-core xwayland # X11
|
|
||||||
)
|
|
||||||
PKG_MESA_DEP=(
|
|
||||||
libdrm2 libsensors5 libexpat1 # common
|
|
||||||
libvulkan1 # vulkan
|
|
||||||
libx11-6 libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrender1 libxshmfence1 libxxf86vm1 # X11
|
|
||||||
)
|
|
||||||
PKG_DEP=(
|
|
||||||
libpng16-16
|
|
||||||
libva-wayland2
|
|
||||||
libwaffle-1-0
|
|
||||||
libpython3.11 python3 python3-lxml python3-mako python3-numpy python3-packaging python3-pil python3-renderdoc python3-requests python3-simplejson python3-yaml # Python
|
|
||||||
sntp
|
|
||||||
strace
|
|
||||||
waffle-utils
|
|
||||||
zstd
|
|
||||||
)
|
|
||||||
# arch dependent rootfs packages
|
|
||||||
[ "$DEBIAN_ARCH" = "arm64" ] && PKG_ARCH=(
|
|
||||||
libgl1 libglu1-mesa
|
|
||||||
firmware-linux-nonfree firmware-qcom-media
|
|
||||||
libfontconfig1
|
|
||||||
)
|
|
||||||
[ "$DEBIAN_ARCH" = "amd64" ] && PKG_ARCH=(
|
|
||||||
firmware-amd-graphics
|
|
||||||
firmware-misc-nonfree
|
|
||||||
gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools gstreamer1.0-vaapi libgstreamer1.0-0 # Fluster
|
|
||||||
libgl1 libglu1-mesa
|
|
||||||
inetutils-syslogd iptables libcap2
|
|
||||||
libfontconfig1
|
|
||||||
spirv-tools
|
|
||||||
libelf1 libfdt1 "libllvm${LLVM_VERSION}"
|
|
||||||
libva2 libva-drm2
|
|
||||||
socat
|
|
||||||
sysvinit-core
|
|
||||||
wine
|
|
||||||
)
|
|
||||||
[ "$DEBIAN_ARCH" = "armhf" ] && PKG_ARCH=(
|
|
||||||
firmware-misc-nonfree
|
|
||||||
)
|
|
||||||
|
|
||||||
[ "$BUILD_CL" == "ON" ] && PKG_ARCH+=(
|
|
||||||
clinfo
|
|
||||||
"libclang-cpp${LLVM_VERSION}"
|
|
||||||
"libclang-common-${LLVM_VERSION}-dev"
|
|
||||||
ocl-icd-libopencl1
|
|
||||||
)
|
|
||||||
[ "$BUILD_VK" == "ON" ] && PKG_ARCH+=(
|
|
||||||
libvulkan-dev
|
|
||||||
)
|
|
||||||
|
|
||||||
mmdebstrap \
|
|
||||||
--variant=apt \
|
|
||||||
--arch="${DEBIAN_ARCH}" \
|
|
||||||
--components main,contrib,non-free-firmware \
|
|
||||||
--customize-hook='.gitlab-ci/container/get-firmware-from-source.sh "$ROOTFS" "$FIRMWARE_FILES"' \
|
|
||||||
--include "${PKG_BASE[*]} ${PKG_CI[*]} ${PKG_DEP[*]} ${PKG_MESA_DEP[*]} ${PKG_ARCH[*]}" \
|
|
||||||
bookworm \
|
|
||||||
"$ROOTFS/" \
|
|
||||||
"http://deb.debian.org/debian" \
|
|
||||||
"deb [trusted=yes] https://gitlab.freedesktop.org/gfx-ci/ci-deb-repo/-/raw/${PKG_REPO_REV}/ ${FDO_DISTRIBUTION_VERSION%-*} main" \
|
|
||||||
"${LLVM_APT_REPO:-}"
|
|
||||||
|
|
||||||
############### Install mold
|
|
||||||
. .gitlab-ci/container/build-mold.sh
|
|
||||||
|
|
||||||
############### Building
|
|
||||||
STRIP_CMD="${GCC_ARCH}-strip"
|
|
||||||
mkdir -p $ROOTFS/usr/lib/$GCC_ARCH
|
|
||||||
|
|
||||||
############### Build libclc
|
|
||||||
|
|
||||||
if [ "$BUILD_CL" = "ON" ]; then
|
|
||||||
rm -rf /usr/lib/clc/*
|
|
||||||
. .gitlab-ci/container/build-libclc.sh
|
|
||||||
mkdir -p $ROOTFS/usr/{share,lib}/clc
|
|
||||||
mv /usr/share/clc/spirv*-mesa3d-.spv $ROOTFS/usr/share/clc/
|
|
||||||
ln -s /usr/share/clc/spirv64-mesa3d-.spv $ROOTFS/usr/lib/clc/
|
|
||||||
ln -s /usr/share/clc/spirv-mesa3d-.spv $ROOTFS/usr/lib/clc/
|
|
||||||
fi
|
|
||||||
|
|
||||||
############### Build Vulkan validation layer (for zink)
|
|
||||||
if [ "$DEBIAN_ARCH" = "amd64" ]; then
|
|
||||||
. .gitlab-ci/container/build-vulkan-validation.sh
|
|
||||||
mv /usr/lib/x86_64-linux-gnu/libVkLayer_khronos_validation.so $ROOTFS/usr/lib/x86_64-linux-gnu/
|
|
||||||
mkdir -p $ROOTFS/usr/share/vulkan/explicit_layer.d
|
|
||||||
mv /usr/share/vulkan/explicit_layer.d/* $ROOTFS/usr/share/vulkan/explicit_layer.d/
|
|
||||||
fi
|
|
||||||
|
|
||||||
############### Build apitrace
|
|
||||||
. .gitlab-ci/container/build-apitrace.sh
|
|
||||||
mkdir -p $ROOTFS/apitrace
|
|
||||||
mv /apitrace/build $ROOTFS/apitrace
|
|
||||||
rm -rf /apitrace
|
|
||||||
|
|
||||||
############### Build ANGLE
|
|
||||||
if [ "$DEBIAN_ARCH" != "armhf" ]; then
|
|
||||||
ANGLE_TARGET=linux \
|
|
||||||
. .gitlab-ci/container/build-angle.sh
|
|
||||||
mv /angle $ROOTFS/.
|
|
||||||
rm -rf /angle
|
|
||||||
fi
|
|
||||||
|
|
||||||
############### Build dEQP runner
|
|
||||||
. .gitlab-ci/container/build-deqp-runner.sh
|
|
||||||
mkdir -p $ROOTFS/usr/bin
|
|
||||||
mv /usr/local/bin/*-runner $ROOTFS/usr/bin/.
|
|
||||||
|
|
||||||
|
|
||||||
############### Build dEQP
|
|
||||||
|
|
||||||
DEQP_API=tools \
|
|
||||||
DEQP_TARGET=default \
|
|
||||||
. .gitlab-ci/container/build-deqp.sh
|
|
||||||
|
|
||||||
DEQP_API=GL \
|
|
||||||
DEQP_TARGET=surfaceless \
|
|
||||||
. .gitlab-ci/container/build-deqp.sh
|
|
||||||
|
|
||||||
DEQP_API=GLES \
|
|
||||||
DEQP_TARGET=surfaceless \
|
|
||||||
. .gitlab-ci/container/build-deqp.sh
|
|
||||||
|
|
||||||
if [ "$BUILD_VK" == "ON" ]; then
|
|
||||||
DEQP_API=VK \
|
|
||||||
DEQP_TARGET=default \
|
|
||||||
. .gitlab-ci/container/build-deqp.sh
|
|
||||||
|
|
||||||
if [ "$DEBIAN_ARCH" == "amd64" ]; then
|
|
||||||
DEQP_API=VK-main \
|
|
||||||
DEQP_TARGET=default \
|
|
||||||
. .gitlab-ci/container/build-deqp.sh
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -rf /VK-GL-CTS
|
|
||||||
|
|
||||||
mv /deqp-* $ROOTFS/.
|
|
||||||
|
|
||||||
|
|
||||||
############### Build SKQP
|
|
||||||
if [[ "$DEBIAN_ARCH" = "arm64" ]] \
|
|
||||||
|| [[ "$DEBIAN_ARCH" = "amd64" ]]; then
|
|
||||||
. .gitlab-ci/container/build-skqp.sh
|
|
||||||
mv /skqp $ROOTFS/.
|
|
||||||
fi
|
|
||||||
|
|
||||||
############### Build piglit
|
|
||||||
PIGLIT_OPTS="-DPIGLIT_USE_WAFFLE=ON
|
|
||||||
-DPIGLIT_USE_GBM=ON
|
|
||||||
-DPIGLIT_USE_WAYLAND=ON
|
|
||||||
-DPIGLIT_USE_X11=ON
|
|
||||||
-DPIGLIT_BUILD_GLX_TESTS=ON
|
|
||||||
-DPIGLIT_BUILD_EGL_TESTS=ON
|
|
||||||
-DPIGLIT_BUILD_WGL_TESTS=OFF
|
|
||||||
-DPIGLIT_BUILD_GL_TESTS=ON
|
|
||||||
-DPIGLIT_BUILD_GLES1_TESTS=ON
|
|
||||||
-DPIGLIT_BUILD_GLES2_TESTS=ON
|
|
||||||
-DPIGLIT_BUILD_GLES3_TESTS=ON
|
|
||||||
-DPIGLIT_BUILD_CL_TESTS=$BUILD_CL
|
|
||||||
-DPIGLIT_BUILD_VK_TESTS=$BUILD_VK
|
|
||||||
-DPIGLIT_BUILD_DMA_BUF_TESTS=ON" \
|
|
||||||
. .gitlab-ci/container/build-piglit.sh
|
|
||||||
mv /piglit $ROOTFS/.
|
|
||||||
|
|
||||||
############### Build libva tests
|
|
||||||
if [[ "$DEBIAN_ARCH" = "amd64" ]]; then
|
|
||||||
. .gitlab-ci/container/build-va-tools.sh
|
|
||||||
mv /va/bin/* $ROOTFS/usr/bin/
|
|
||||||
fi
|
|
||||||
|
|
||||||
############### Build Crosvm
|
|
||||||
if [[ ${DEBIAN_ARCH} = "amd64" ]]; then
|
|
||||||
. .gitlab-ci/container/build-crosvm.sh
|
|
||||||
mv /usr/local/bin/crosvm $ROOTFS/usr/bin/
|
|
||||||
mv /usr/local/lib/libvirglrenderer.* $ROOTFS/usr/lib/$GCC_ARCH/
|
|
||||||
mkdir -p $ROOTFS/usr/local/libexec/
|
|
||||||
mv /usr/local/libexec/virgl* $ROOTFS/usr/local/libexec/
|
|
||||||
fi
|
|
||||||
|
|
||||||
############### Build ci-kdl
|
|
||||||
. .gitlab-ci/container/build-kdl.sh
|
|
||||||
mv /ci-kdl $ROOTFS/
|
|
||||||
|
|
||||||
############### Install fluster
|
|
||||||
if [[ ${DEBIAN_ARCH} = "amd64" ]]; then
|
|
||||||
. .gitlab-ci/container/build-fluster.sh
|
|
||||||
mkdir -p "${ROOTFS}/usr/local/"
|
|
||||||
mv /usr/local/fluster "${ROOTFS}/usr/local/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
############### Build local stuff for use by igt and kernel testing, which
|
|
||||||
############### will reuse most of our container build process from a specific
|
|
||||||
############### hash of the Mesa tree.
|
|
||||||
if [[ -e ".gitlab-ci/local/build-rootfs.sh" ]]; then
|
|
||||||
. .gitlab-ci/local/build-rootfs.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
############### Delete rust, since the tests won't be compiling anything.
|
|
||||||
rm -rf /root/.cargo
|
|
||||||
rm -rf /root/.rustup
|
|
||||||
|
|
||||||
############### Delete firmware files we don't need
|
|
||||||
if [ "$DEBIAN_ARCH" = "amd64" ]; then
|
|
||||||
dpkg -L firmware-misc-nonfree | grep -v "i915" | xargs rm || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
############### Fill rootfs
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
cp .gitlab-ci/setup-test-env.sh $ROOTFS/.
|
|
||||||
pip3 install --break-system-packages yq
|
|
||||||
cp .gitlab-ci/container/setup-rootfs.sh $ROOTFS/.
|
|
||||||
cp .gitlab-ci/container/strip-rootfs.sh $ROOTFS/.
|
|
||||||
cp .gitlab-ci/container/debian/llvm-snapshot.gpg.key $ROOTFS/.
|
|
||||||
cp .gitlab-ci/container/debian/winehq.gpg.key $ROOTFS/.
|
|
||||||
chroot $ROOTFS bash /setup-test-env.sh
|
|
||||||
chroot $ROOTFS bash /setup-rootfs.sh
|
|
||||||
chroot $ROOTFS bash /strip-rootfs.sh
|
|
||||||
rm $ROOTFS/{llvm-snapshot,winehq}.gpg.key
|
|
||||||
rm "$ROOTFS/setup-test-env.sh"
|
|
||||||
rm "$ROOTFS/setup-rootfs.sh"
|
|
||||||
rm "$ROOTFS/strip-rootfs.sh"
|
|
||||||
|
|
||||||
# Copy all tags to the rootfs, so test jobs can check if they are using the intended version
|
|
||||||
TAG_FILE_DIR="$(get_tag_file)"
|
|
||||||
if [ -d "${TAG_FILE_DIR}" ]; then
|
|
||||||
cp --parents -r "${TAG_FILE_DIR}" $ROOTFS/.
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${DEBIAN_ARCH}" = "arm64" ]; then
|
|
||||||
mkdir -p /lava-files/rootfs-arm64/lib/firmware/qcom/sm8350/ # for firmware imported later
|
|
||||||
fi
|
|
||||||
|
|
||||||
ROOTFSTAR="lava-rootfs.tar.zst"
|
|
||||||
du -ah "$ROOTFS" | sort -h | tail -100
|
|
||||||
pushd $ROOTFS
|
|
||||||
tar --zstd -cf /lava-files/${ROOTFSTAR} .
|
|
||||||
popd
|
|
||||||
|
|
||||||
. .gitlab-ci/container/container_post_build.sh
|
|
||||||
|
|
||||||
ci-fairy s3cp --token-file "${S3_JWT_FILE}" /lava-files/"${ROOTFSTAR}" \
|
|
||||||
https://${S3_PATH}/"${ROOTFSTAR}"
|
|
||||||
|
|
||||||
touch /lava-files/done
|
|
||||||
ci-fairy s3cp --token-file "${S3_JWT_FILE}" /lava-files/done https://${S3_PATH}/done
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
# DEBIAN_TEST_GL_TAG
|
# DEBIAN_TEST_GL_TAG
|
||||||
# DEBIAN_TEST_VIDEO_TAG
|
# DEBIAN_TEST_VIDEO_TAG
|
||||||
# DEBIAN_TEST_VK_TAG
|
# DEBIAN_TEST_VK_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
|
|
||||||
set -eux -o pipefail
|
set -eux -o pipefail
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
# DEBIAN_TEST_GL_TAG
|
# DEBIAN_TEST_GL_TAG
|
||||||
# DEBIAN_TEST_VIDEO_TAG
|
# DEBIAN_TEST_VIDEO_TAG
|
||||||
# DEBIAN_TEST_VK_TAG
|
# DEBIAN_TEST_VK_TAG
|
||||||
# KERNEL_ROOTFS_TAG
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
section_start strip-rootfs "Stripping rootfs"
|
section_start strip-rootfs "Stripping rootfs"
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ variables:
|
||||||
DEBIAN_TEST_GL_TAG: "20250423-rootfs"
|
DEBIAN_TEST_GL_TAG: "20250423-rootfs"
|
||||||
DEBIAN_TEST_VIDEO_TAG: "20250423-rootfs"
|
DEBIAN_TEST_VIDEO_TAG: "20250423-rootfs"
|
||||||
DEBIAN_TEST_VK_TAG: "20250423-rootfs"
|
DEBIAN_TEST_VK_TAG: "20250423-rootfs"
|
||||||
KERNEL_ROOTFS_TAG: "20250423-rootfs"
|
|
||||||
|
|
||||||
DEBIAN_PYUTILS_TAG: "20250422-ci-fairy"
|
DEBIAN_PYUTILS_TAG: "20250422-ci-fairy"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,16 +53,11 @@ Kconfigs location
|
||||||
Updating image tags
|
Updating image tags
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Every kernel uprev should update 3 image tags, located at two files.
|
Every kernel uprev should update the following tag:
|
||||||
|
|
||||||
:code:`.gitlab-ci/container/gitlab-ci.yml` tag
|
:code:`.gitlab-ci/image-tags.yml` tag
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
- **KERNEL_URL** for the location of the new kernel
|
|
||||||
|
|
||||||
:code:`.gitlab-ci/image-tags.yml` tags
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
- **KERNEL_ROOTFS_TAG** to rebuild rootfs with the new kernel
|
- **KERNEL_TAG** to use the new kernel
|
||||||
- **DEBIAN_X86_TEST_GL_TAG** to ensure that the new rootfs is being used by the GitLab x86 jobs
|
|
||||||
|
|
||||||
Development routine
|
Development routine
|
||||||
-------------------
|
-------------------
|
||||||
|
|
|
||||||
|
|
@ -249,11 +249,11 @@ To integrate structured tagging for a new component (for example, ``my_component
|
||||||
variables:
|
variables:
|
||||||
MY_COMPONENT_TAG: "${CONDITIONAL_BUILD_MY_COMPONENT_TAG}"
|
MY_COMPONENT_TAG: "${CONDITIONAL_BUILD_MY_COMPONENT_TAG}"
|
||||||
|
|
||||||
- It is time to modify the job that builds the component image to include the new component tag. Let's suppose that only the ``kernel+rootfs_x86_64`` job builds the component image. We need to add the new component tag to the job as an extension:
|
- It is time to modify the job that builds the component image to include the new component tag. Let's suppose that only the ``debian/arm64_test-gl`` job builds the component image. We need to add the new component tag to the job as an extension:
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
|
||||||
kernel+rootfs_x86_64:
|
debian/arm64_test-gl:
|
||||||
extends:
|
extends:
|
||||||
- .container-builds-my-component
|
- .container-builds-my-component
|
||||||
- .container-builds-my-component2
|
- .container-builds-my-component2
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue