mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 11:33:36 -04:00
In order to validate drm/msm register definition files against schema, reuse the nodebugfs build step. The validation entry is guarded by the EXPERT Kconfig option and we don't want to enable that option for all the builds. Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com> Acked-by: Helen Koike <helen.koike@collabora.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240503-fd-fix-lxml-v2-2-f80a60ce21a1@linaro.org Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
171 lines
5.6 KiB
Bash
171 lines
5.6 KiB
Bash
#!/bin/bash
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
set -ex
|
|
|
|
# Clean up stale rebases that GitLab might not have removed when reusing a checkout dir
|
|
rm -rf .git/rebase-apply
|
|
|
|
. .gitlab-ci/container/container_pre_build.sh
|
|
|
|
# libssl-dev was uninstalled because it was considered an ephemeral package
|
|
apt-get update
|
|
apt-get install -y libssl-dev
|
|
|
|
# for msm header validation
|
|
apt-get install -y python3-lxml
|
|
|
|
if [[ "$KERNEL_ARCH" = "arm64" ]]; then
|
|
GCC_ARCH="aarch64-linux-gnu"
|
|
DEBIAN_ARCH="arm64"
|
|
DEVICE_TREES="arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb"
|
|
DEVICE_TREES+=" arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dtb"
|
|
DEVICE_TREES+=" arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dtb"
|
|
DEVICE_TREES+=" arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dtb"
|
|
DEVICE_TREES+=" arch/arm64/boot/dts/qcom/apq8016-sbc-usb-host.dtb"
|
|
DEVICE_TREES+=" arch/arm64/boot/dts/qcom/apq8096-db820c.dtb"
|
|
DEVICE_TREES+=" arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dtb"
|
|
DEVICE_TREES+=" arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtb"
|
|
DEVICE_TREES+=" arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-juniper-sku16.dtb"
|
|
DEVICE_TREES+=" arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dtb"
|
|
DEVICE_TREES+=" arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots-r5.dtb"
|
|
DEVICE_TREES+=" arch/arm64/boot/dts/qcom/sc7180-trogdor-kingoftown.dtb"
|
|
elif [[ "$KERNEL_ARCH" = "arm" ]]; then
|
|
GCC_ARCH="arm-linux-gnueabihf"
|
|
DEBIAN_ARCH="armhf"
|
|
DEVICE_TREES="arch/arm/boot/dts/rockchip/rk3288-veyron-jaq.dtb"
|
|
DEVICE_TREES+=" arch/arm/boot/dts/allwinner/sun8i-h3-libretech-all-h3-cc.dtb"
|
|
DEVICE_TREES+=" arch/arm/boot/dts/nxp/imx/imx6q-cubox-i.dtb"
|
|
apt-get install -y libssl-dev:armhf
|
|
else
|
|
GCC_ARCH="x86_64-linux-gnu"
|
|
DEBIAN_ARCH="amd64"
|
|
DEVICE_TREES=""
|
|
fi
|
|
|
|
export ARCH=${KERNEL_ARCH}
|
|
export CROSS_COMPILE="${GCC_ARCH}-"
|
|
|
|
# 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.
|
|
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
|
|
|
|
NEWPATH=$(pwd)/ld-links
|
|
export PATH=$NEWPATH:$PATH
|
|
|
|
git config --global user.email "fdo@example.com"
|
|
git config --global user.name "freedesktop.org CI"
|
|
git config --global pull.rebase true
|
|
|
|
# cleanup git state on the worker
|
|
rm -rf .git/rebase-merge
|
|
|
|
# Try to merge fixes from target repo
|
|
if [ "$(git ls-remote --exit-code --heads ${UPSTREAM_REPO} ${TARGET_BRANCH}-external-fixes)" ]; then
|
|
git pull ${UPSTREAM_REPO} ${TARGET_BRANCH}-external-fixes
|
|
fi
|
|
|
|
# Try to merge fixes from local repo if this isn't a merge request
|
|
# otherwise try merging the fixes from the merge target
|
|
if [ -z "$CI_MERGE_REQUEST_PROJECT_PATH" ]; then
|
|
if [ "$(git ls-remote --exit-code --heads origin ${TARGET_BRANCH}-external-fixes)" ]; then
|
|
git pull origin ${TARGET_BRANCH}-external-fixes
|
|
fi
|
|
else
|
|
if [ "$(git ls-remote --exit-code --heads ${CI_MERGE_REQUEST_PROJECT_URL} ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}-external-fixes)" ]; then
|
|
git pull ${CI_MERGE_REQUEST_PROJECT_URL} ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}-external-fixes
|
|
fi
|
|
fi
|
|
|
|
if [[ -n "${MERGE_FRAGMENT}" ]]; then
|
|
./scripts/kconfig/merge_config.sh ${DEFCONFIG} drivers/gpu/drm/ci/${MERGE_FRAGMENT}
|
|
else
|
|
make `basename ${DEFCONFIG}`
|
|
fi
|
|
|
|
for opt in $ENABLE_KCONFIGS; do
|
|
./scripts/config --enable CONFIG_$opt
|
|
done
|
|
for opt in $DISABLE_KCONFIGS; do
|
|
./scripts/config --disable CONFIG_$opt
|
|
done
|
|
|
|
make ${KERNEL_IMAGE_NAME}
|
|
|
|
mkdir -p /lava-files/
|
|
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
|
|
|
|
make modules
|
|
mkdir -p install/modules/
|
|
INSTALL_MOD_PATH=install/modules/ make modules_install
|
|
|
|
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"
|
|
|
|
# Make a gzipped copy of the Image for db410c.
|
|
gzip -k /lava-files/Image
|
|
KERNEL_IMAGE_NAME+=" Image.gz"
|
|
fi
|
|
|
|
# Pass needed files to the test stage
|
|
mkdir -p install
|
|
cp -rfv .gitlab-ci/* install/.
|
|
cp -rfv install/common install/ci-common
|
|
cp -rfv drivers/gpu/drm/ci/* install/.
|
|
|
|
. .gitlab-ci/container/container_post_build.sh
|
|
|
|
if [[ "$UPLOAD_TO_MINIO" = "1" ]]; then
|
|
xz -7 -c -T${FDO_CI_CONCURRENT:-4} vmlinux > /lava-files/vmlinux.xz
|
|
FILES_TO_UPLOAD="$KERNEL_IMAGE_NAME vmlinux.xz"
|
|
|
|
if [[ -n $DEVICE_TREES ]]; then
|
|
FILES_TO_UPLOAD="$FILES_TO_UPLOAD $(basename -a $DEVICE_TREES)"
|
|
fi
|
|
|
|
for f in $FILES_TO_UPLOAD; do
|
|
ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" /lava-files/$f \
|
|
https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}/$f
|
|
done
|
|
|
|
S3_ARTIFACT_NAME="kernel-files.tar.zst"
|
|
tar --zstd -cf $S3_ARTIFACT_NAME install
|
|
ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" ${S3_ARTIFACT_NAME} https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}/${S3_ARTIFACT_NAME}
|
|
|
|
echo "Download vmlinux.xz from https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}/vmlinux.xz"
|
|
fi
|
|
|
|
mkdir -p artifacts/install/lib
|
|
mv install/* artifacts/install/.
|
|
rm -rf artifacts/install/modules
|
|
ln -s common artifacts/install/ci-common
|
|
cp .config artifacts/${CI_JOB_NAME}_config
|
|
|
|
for image in ${KERNEL_IMAGE_NAME}; do
|
|
cp /lava-files/$image artifacts/install/.
|
|
done
|
|
|
|
tar -C artifacts -cf artifacts/install.tar install
|
|
rm -rf artifacts/install
|