Mesa (main): ci: Move Kernel build tasks into its own file
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jun 9 19:45:39 UTC 2021
Module: Mesa
Branch: main
Commit: d08e2e5a96feb53f1c343a3913ee69f6c598bbe4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d08e2e5a96feb53f1c343a3913ee69f6c598bbe4
Author: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Date: Mon Mar 8 14:05:08 2021 +0100
ci: Move Kernel build tasks into its own file
Allows to reuse the Kernel build tasks everywhere it is needed.
The x86_test-gl container now need a kernel image to use for the crosvm environment,
Reuse this task there.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10862>
---
.gitlab-ci.yml | 6 +++--
.gitlab-ci/container/build-kernel.sh | 51 ++++++++++++++++++++++++++++++++++++
.gitlab-ci/container/lava_build.sh | 50 ++---------------------------------
.gitlab-ci/container/x86_test-gl.sh | 15 +++++++++++
4 files changed, 72 insertions(+), 50 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d5440b30c69..a7b654632b9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -415,7 +415,9 @@ x86_test-base:
x86_test-gl:
extends: .use-x86_test-base
variables:
- MESA_IMAGE_TAG: &x86_test-gl "2021-05-31-piglit-vk"
+ FDO_DISTRIBUTION_EXEC: 'env KERNEL_URL=${KERNEL_URL} FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
+ KERNEL_URL: &kernel-rootfs-url "https://gitlab.freedesktop.org/gfx-ci/linux/-/archive/v5.13-rc5-for-mesa-ci-27df41f1e0cf/linux-v5.13-rc5-for-mesa-ci-27df41f1e0cf.tar.bz2"
+ MESA_IMAGE_TAG: &x86_test-gl "2021-06-08-virgl-crosvm-kernel"
# Debian 11 based x86 test image for VK
x86_test-vk:
@@ -449,7 +451,7 @@ arm_build:
stage: container-2
variables:
GIT_STRATEGY: fetch
- KERNEL_URL: "https://gitlab.freedesktop.org/gfx-ci/linux/-/archive/v5.13-rc2-for-mesa-ci-2a4a4fa4407f/v5.13-rc2-for-mesa-ci-2a4a4fa4407f.tar.bz2"
+ KERNEL_URL: *kernel-rootfs-url
MESA_ROOTFS_TAG: &kernel-rootfs "2021-05-25-apitrace"
DISTRIBUTION_TAG: &distribution-tag-arm "${MESA_ROOTFS_TAG}--${MESA_ARTIFACTS_TAG}--${MESA_TEMPLATES_COMMIT}"
script:
diff --git a/.gitlab-ci/container/build-kernel.sh b/.gitlab-ci/container/build-kernel.sh
new file mode 100644
index 00000000000..7367924c723
--- /dev/null
+++ b/.gitlab-ci/container/build-kernel.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+set -ex
+
+mkdir -p kernel
+wget -qO- ${KERNEL_URL} | tar -xj --strip-components=1 -C kernel
+pushd kernel
+
+# The kernel doesn't like the gold linker (or the old lld in our debians).
+# Sneak in some override symlinks during kernel build until we can update
+# debian (they'll get blown away by the rm of the kernel dir at the end).
+mkdir -p ld-links
+for i in /usr/bin/*-ld /usr/bin/ld; do
+ i=`basename $i`
+ ln -sf /usr/bin/$i.bfd ld-links/$i
+done
+export PATH=`pwd`/ld-links:$PATH
+
+export LOCALVERSION="`basename $KERNEL_URL`"
+./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/container/${KERNEL_ARCH}.config
+make ${KERNEL_IMAGE_NAME}
+for image in ${KERNEL_IMAGE_NAME}; do
+ cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/.
+done
+
+if [[ -n ${DEVICE_TREES} ]]; then
+ make dtbs
+ cp ${DEVICE_TREES} /lava-files/.
+fi
+
+if [[ ${DEBIAN_ARCH} = "amd64" ]]; then
+ make modules
+ INSTALL_MOD_PATH=/lava-files/rootfs-${DEBIAN_ARCH}/ make modules_install
+fi
+
+if [[ ${DEBIAN_ARCH} = "arm64" ]]; then
+ make Image.lzma
+ mkimage \
+ -f auto \
+ -A arm \
+ -O linux \
+ -d arch/arm64/boot/Image.lzma \
+ -C lzma\
+ -b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \
+ /lava-files/cheza-kernel
+ KERNEL_IMAGE_NAME+=" cheza-kernel"
+fi
+
+popd
+rm -rf kernel
+
diff --git a/.gitlab-ci/container/lava_build.sh b/.gitlab-ci/container/lava_build.sh
index c42f60c3984..88a78c2d322 100755
--- a/.gitlab-ci/container/lava_build.sh
+++ b/.gitlab-ci/container/lava_build.sh
@@ -144,54 +144,8 @@ mv /piglit /lava-files/rootfs-${DEBIAN_ARCH}/.
EXTRA_MESON_ARGS+=" -D prefix=/libdrm"
. .gitlab-ci/container/build-libdrm.sh
-
-############### Cross-build kernel
-mkdir -p kernel
-wget -qO- ${KERNEL_URL} | tar -xj --strip-components=1 -C kernel
-pushd kernel
-
-# The kernel doesn't like the gold linker (or the old lld in our debians).
-# Sneak in some override symlinks during kernel build until we can update
-# debian (they'll get blown away by the rm of the kernel dir at the end).
-mkdir -p ld-links
-for i in /usr/bin/*-ld /usr/bin/ld; do
- i=`basename $i`
- ln -sf /usr/bin/$i.bfd ld-links/$i
-done
-export PATH=`pwd`/ld-links:$PATH
-
-export LOCALVERSION="`basename $KERNEL_URL`"
-./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/container/${KERNEL_ARCH}.config
-make ${KERNEL_IMAGE_NAME}
-for image in ${KERNEL_IMAGE_NAME}; do
- cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/.
-done
-
-if [[ -n ${DEVICE_TREES} ]]; then
- make dtbs
- cp ${DEVICE_TREES} /lava-files/.
-fi
-
-if [[ ${DEBIAN_ARCH} = "amd64" ]]; then
- make modules
- INSTALL_MOD_PATH=/lava-files/rootfs-${DEBIAN_ARCH}/ make modules_install
-fi
-
-if [[ ${DEBIAN_ARCH} = "arm64" ]]; then
- make Image.lzma
- mkimage \
- -f auto \
- -A arm \
- -O linux \
- -d arch/arm64/boot/Image.lzma \
- -C lzma\
- -b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \
- /lava-files/cheza-kernel
- KERNEL_IMAGE_NAME+=" cheza-kernel"
-fi
-
-popd
-rm -rf kernel
+############### Build kernel
+. .gitlab-ci/container/build-kernel.sh
############### Delete rust, since the tests won't be compiling anything.
rm -rf /root/.cargo
diff --git a/.gitlab-ci/container/x86_test-gl.sh b/.gitlab-ci/container/x86_test-gl.sh
index 6b126ac33e8..e3d03a13257 100644
--- a/.gitlab-ci/container/x86_test-gl.sh
+++ b/.gitlab-ci/container/x86_test-gl.sh
@@ -9,15 +9,20 @@ export DEBIAN_FRONTEND=noninteractive
STABLE_EPHEMERAL=" \
autoconf \
automake \
+ bc \
+ bison \
+ bzip2 \
cargo \
ccache \
clang-11 \
cmake \
+ flex \
g++ \
glslang-tools \
libasound2-dev \
libcap-dev \
libclang-cpp11-dev \
+ libelf-dev \
libfdt-dev \
libgbm-dev \
libgles2-mesa-dev \
@@ -67,6 +72,16 @@ apt-get install -y --no-remove \
. .gitlab-ci/container/container_pre_build.sh
+############### Build kernel
+
+export DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+export KERNEL_IMAGE_NAME=bzImage
+export KERNEL_ARCH=x86_64
+export DEBIAN_ARCH=amd64
+
+mkdir -p /lava-files/
+. .gitlab-ci/container/build-kernel.sh
+
############### Build libdrm
. .gitlab-ci/container/build-libdrm.sh
More information about the mesa-commit
mailing list