diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4e9e6c57d2f..9887b5dfed5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -381,7 +381,6 @@ sanity: DEBIAN_TEST_GL_TAG DEBIAN_TEST_VK_TAG FEDORA_X86_64_BUILD_TAG - KERNEL_ROOTFS_TAG KERNEL_TAG PKG_REPO_REV WINDOWS_X64_BUILD_TAG diff --git a/.gitlab-ci/conditional-build-image-tags.yml b/.gitlab-ci/conditional-build-image-tags.yml index 5bab1626b98..2c962ed0f61 100644 --- a/.gitlab-ci/conditional-build-image-tags.yml +++ b/.gitlab-ci/conditional-build-image-tags.yml @@ -1,3 +1,3 @@ variables: - CONDITIONAL_BUILD_ANGLE_TAG: e7c547147880538db994f480292364c7 - CONDITIONAL_BUILD_PIGLIT_TAG: 2fb6336d546595b0f1cd811db2797155 + CONDITIONAL_BUILD_ANGLE_TAG: be4f59328ef607bcbf5048a3f6f27410 + CONDITIONAL_BUILD_PIGLIT_TAG: a19e424b8a3f020dbf1b9dd29f220a4f diff --git a/.gitlab-ci/container/build-angle.sh b/.gitlab-ci/container/build-angle.sh index ebd77048a44..1e03e8390cf 100755 --- a/.gitlab-ci/container/build-angle.sh +++ b/.gitlab-ci/container/build-angle.sh @@ -4,7 +4,6 @@ # .gitlab-ci/image-tags.yml tags: # DEBIAN_TEST_ANDROID_TAG # DEBIAN_TEST_GL_TAG -# KERNEL_ROOTFS_TAG set -uex diff --git a/.gitlab-ci/container/build-crosvm.sh b/.gitlab-ci/container/build-crosvm.sh index c1d8c3bafa3..fa469e1677f 100644 --- a/.gitlab-ci/container/build-crosvm.sh +++ b/.gitlab-ci/container/build-crosvm.sh @@ -6,7 +6,6 @@ # DEBIAN_BASE_TAG # DEBIAN_TEST_GL_TAG # DEBIAN_TEST_VK_TAG -# KERNEL_ROOTFS_TAG set -uex diff --git a/.gitlab-ci/container/build-deqp-runner.sh b/.gitlab-ci/container/build-deqp-runner.sh index af31b5cb10c..6ccb31e667d 100644 --- a/.gitlab-ci/container/build-deqp-runner.sh +++ b/.gitlab-ci/container/build-deqp-runner.sh @@ -5,7 +5,6 @@ # .gitlab-ci/image-tags.yml tags: # DEBIAN_TEST_ANDROID_TAG # DEBIAN_BASE_TAG -# KERNEL_ROOTFS_TAG set -uex diff --git a/.gitlab-ci/container/build-deqp.sh b/.gitlab-ci/container/build-deqp.sh index 790fd304c1e..3ee0d6e0e8f 100755 --- a/.gitlab-ci/container/build-deqp.sh +++ b/.gitlab-ci/container/build-deqp.sh @@ -6,7 +6,6 @@ # DEBIAN_TEST_ANDROID_TAG # DEBIAN_TEST_GL_TAG # DEBIAN_TEST_VK_TAG -# KERNEL_ROOTFS_TAG set -ue -o pipefail diff --git a/.gitlab-ci/container/build-fossilize.sh b/.gitlab-ci/container/build-fossilize.sh index b726fe92a4d..8ce3ee8d608 100644 --- a/.gitlab-ci/container/build-fossilize.sh +++ b/.gitlab-ci/container/build-fossilize.sh @@ -3,7 +3,6 @@ # When changing this file, you need to bump the following # .gitlab-ci/image-tags.yml tags: # DEBIAN_TEST_VK_TAG -# KERNEL_ROOTFS_TAG set -ex diff --git a/.gitlab-ci/container/build-mold.sh b/.gitlab-ci/container/build-mold.sh index 6ca90eb831f..ff7f1d3af4e 100644 --- a/.gitlab-ci/container/build-mold.sh +++ b/.gitlab-ci/container/build-mold.sh @@ -8,7 +8,6 @@ set -ex # DEBIAN_BASE_TAG # DEBIAN_BUILD_TAG # FEDORA_X86_64_BUILD_TAG -# KERNEL_ROOTFS_TAG uncollapsed_section_start mold "Building mold" diff --git a/.gitlab-ci/container/build-piglit.sh b/.gitlab-ci/container/build-piglit.sh index c566cb7cbdf..fe926639968 100644 --- a/.gitlab-ci/container/build-piglit.sh +++ b/.gitlab-ci/container/build-piglit.sh @@ -8,7 +8,6 @@ uncollapsed_section_start piglit "Building piglit" # .gitlab-ci/image-tags.yml tags: # DEBIAN_TEST_GL_TAG # DEBIAN_TEST_VK_TAG -# KERNEL_ROOTFS_TAG # Do a very early check to make sure the tag is correct without the need of # setting up the environment variables locally diff --git a/.gitlab-ci/container/build-skqp.sh b/.gitlab-ci/container/build-skqp.sh index 748577ed41c..4a55cf706df 100755 --- a/.gitlab-ci/container/build-skqp.sh +++ b/.gitlab-ci/container/build-skqp.sh @@ -7,7 +7,6 @@ # When changing this file, you need to bump the following # .gitlab-ci/image-tags.yml tags: # DEBIAN_TEST_GL_TAG -# KERNEL_ROOTFS_TAG set -uex diff --git a/.gitlab-ci/container/build-va-tools.sh b/.gitlab-ci/container/build-va-tools.sh index 080bab95057..5db6bab7dd7 100644 --- a/.gitlab-ci/container/build-va-tools.sh +++ b/.gitlab-ci/container/build-va-tools.sh @@ -4,7 +4,6 @@ # When changing this file, you need to bump the following # .gitlab-ci/image-tags.yml tags: # DEBIAN_TEST_VIDEO_TAG -# KERNEL_ROOTFS_TAG set -uex diff --git a/.gitlab-ci/container/build-vulkan-validation.sh b/.gitlab-ci/container/build-vulkan-validation.sh index 55ac4804b17..3ab11e141c5 100644 --- a/.gitlab-ci/container/build-vulkan-validation.sh +++ b/.gitlab-ci/container/build-vulkan-validation.sh @@ -3,7 +3,6 @@ # When changing this file, you need to bump the following # .gitlab-ci/image-tags.yml tags: # DEBIAN_TEST_GL_TAG -# KERNEL_ROOTFS_TAG set -uex diff --git a/.gitlab-ci/container/build-wayland.sh b/.gitlab-ci/container/build-wayland.sh index 551edcfe7db..c691116e311 100644 --- a/.gitlab-ci/container/build-wayland.sh +++ b/.gitlab-ci/container/build-wayland.sh @@ -14,7 +14,6 @@ uncollapsed_section_start wayland "Building Wayland" # DEBIAN_TEST_GL_TAG # DEBIAN_TEST_VK_TAG # FEDORA_X86_64_BUILD_TAG -# KERNEL_ROOTFS_TAG export LIBWAYLAND_VERSION="1.21.0" export WAYLAND_PROTOCOLS_VERSION="1.41" diff --git a/.gitlab-ci/container/debian/baremetal_arm_test.sh b/.gitlab-ci/container/debian/baremetal_arm_test.sh index 45dec46319b..70d9fd8aea7 100644 --- a/.gitlab-ci/container/debian/baremetal_arm_test.sh +++ b/.gitlab-ci/container/debian/baremetal_arm_test.sh @@ -3,7 +3,6 @@ # When changing this file, you need to bump the following # .gitlab-ci/image-tags.yml tags: # DEBIAN_BASE_TAG -# KERNEL_ROOTFS_TAG set -e diff --git a/.gitlab-ci/container/gitlab-ci.yml b/.gitlab-ci/container/gitlab-ci.yml index 68567dd0ab2..92b5482b954 100644 --- a/.gitlab-ci/container/gitlab-ci.yml +++ b/.gitlab-ci/container/gitlab-ci.yml @@ -131,7 +131,6 @@ debian/x86_64_build-base: variables: MESA_BASE_IMAGE: "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 needs: - debian/x86_64_build-base @@ -644,49 +643,6 @@ debian/arm64_test-vk: variables: 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 .debian/baremetal_arm_test: extends: diff --git a/.gitlab-ci/container/lava_build.sh b/.gitlab-ci/container/lava_build.sh deleted file mode 100755 index 4814e8cb2ed..00000000000 --- a/.gitlab-ci/container/lava_build.sh +++ /dev/null @@ -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 diff --git a/.gitlab-ci/container/setup-rootfs.sh b/.gitlab-ci/container/setup-rootfs.sh index 58294c83ed0..0ba816bd629 100755 --- a/.gitlab-ci/container/setup-rootfs.sh +++ b/.gitlab-ci/container/setup-rootfs.sh @@ -5,7 +5,6 @@ # DEBIAN_TEST_GL_TAG # DEBIAN_TEST_VIDEO_TAG # DEBIAN_TEST_VK_TAG -# KERNEL_ROOTFS_TAG set -eux -o pipefail diff --git a/.gitlab-ci/container/strip-rootfs.sh b/.gitlab-ci/container/strip-rootfs.sh index fc83f36bfc3..53f72680464 100644 --- a/.gitlab-ci/container/strip-rootfs.sh +++ b/.gitlab-ci/container/strip-rootfs.sh @@ -6,7 +6,6 @@ # DEBIAN_TEST_GL_TAG # DEBIAN_TEST_VIDEO_TAG # DEBIAN_TEST_VK_TAG -# KERNEL_ROOTFS_TAG set -ex section_start strip-rootfs "Stripping rootfs" diff --git a/.gitlab-ci/image-tags.yml b/.gitlab-ci/image-tags.yml index 19923165c1f..3e94e428c39 100644 --- a/.gitlab-ci/image-tags.yml +++ b/.gitlab-ci/image-tags.yml @@ -27,7 +27,6 @@ variables: DEBIAN_TEST_GL_TAG: "20250423-rootfs" DEBIAN_TEST_VIDEO_TAG: "20250423-rootfs" DEBIAN_TEST_VK_TAG: "20250423-rootfs" - KERNEL_ROOTFS_TAG: "20250423-rootfs" DEBIAN_PYUTILS_TAG: "20250422-ci-fairy" diff --git a/docs/ci/kernel.rst b/docs/ci/kernel.rst index 48cb856cb48..346af59df64 100644 --- a/docs/ci/kernel.rst +++ b/docs/ci/kernel.rst @@ -53,16 +53,11 @@ Kconfigs location 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 -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- **KERNEL_URL** for the location of the new kernel - -:code:`.gitlab-ci/image-tags.yml` tags +:code:`.gitlab-ci/image-tags.yml` tag ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- **KERNEL_ROOTFS_TAG** to rebuild rootfs with the new kernel -- **DEBIAN_X86_TEST_GL_TAG** to ensure that the new rootfs is being used by the GitLab x86 jobs +- **KERNEL_TAG** to use the new kernel Development routine ------------------- diff --git a/docs/ci/structured-tagging.rst b/docs/ci/structured-tagging.rst index ecb3151f742..59197c98dd4 100644 --- a/docs/ci/structured-tagging.rst +++ b/docs/ci/structured-tagging.rst @@ -249,11 +249,11 @@ To integrate structured tagging for a new component (for example, ``my_component variables: 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 - kernel+rootfs_x86_64: + debian/arm64_test-gl: extends: - .container-builds-my-component - .container-builds-my-component2