mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-18 12:19:11 +08:00
drm/ci: Add jobs to validate devicetrees
Add jobs to run dt_binding_check and dtbs_check. If warnings are seen, exit with a non-zero error code while configuring them as warning in the GitLab CI pipeline. Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com> Acked-by: Helen Koike <helen.fornazier@gmail.com> Reviewed-by: Maxime Ripard <mripard@kernel.org> Acked-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250623085033.39680-2-vignesh.raman@collabora.com Signed-off-by: Maxime Ripard <mripard@kernel.org>
This commit is contained in:
committed by
Maxime Ripard
parent
a629feabb5
commit
deac70abb1
50
drivers/gpu/drm/ci/check-devicetrees.yml
Normal file
50
drivers/gpu/drm/ci/check-devicetrees.yml
Normal file
@@ -0,0 +1,50 @@
|
||||
.dt-check-base:
|
||||
stage: static-checks
|
||||
timeout: "30m"
|
||||
variables:
|
||||
GIT_DEPTH: 1
|
||||
FF_USE_NEW_BASH_EVAL_STRATEGY: 'true'
|
||||
SCHEMA: "display:gpu"
|
||||
VENV_PATH: "/tmp/dtcheck-venv"
|
||||
before_script:
|
||||
- apt-get update -qq
|
||||
# Minimum supported version of LLVM for building x86 kernels is 15.0.0.
|
||||
# In mesa-ci containers, LLVM_VERSION is defined as a container-level property and is currently set to 19.
|
||||
- apt-get install -y --no-install-recommends clang-${LLVM_VERSION} lld-${LLVM_VERSION} llvm-${LLVM_VERSION} python3-dev python3-venv python3-pip yamllint
|
||||
- python3 -m venv "${VENV_PATH}"
|
||||
- source "${VENV_PATH}/bin/activate"
|
||||
- pip3 install dtschema
|
||||
script:
|
||||
- drivers/gpu/drm/ci/${SCRIPT_NAME}
|
||||
artifacts:
|
||||
when: on_failure
|
||||
paths:
|
||||
- ${ARTIFACT_FILE}
|
||||
allow_failure:
|
||||
exit_codes:
|
||||
- 102
|
||||
|
||||
dtbs-check:arm32:
|
||||
extends:
|
||||
- .build:arm32
|
||||
- .dt-check-base
|
||||
variables:
|
||||
SCRIPT_NAME: "dtbs-check.sh"
|
||||
ARTIFACT_FILE: "dtbs-check.log"
|
||||
|
||||
dtbs-check:arm64:
|
||||
extends:
|
||||
- .build:arm64
|
||||
- .dt-check-base
|
||||
variables:
|
||||
SCRIPT_NAME: "dtbs-check.sh"
|
||||
ARTIFACT_FILE: "dtbs-check.log"
|
||||
|
||||
dt-binding-check:
|
||||
extends:
|
||||
- .build
|
||||
- .use-debian/x86_64_build
|
||||
- .dt-check-base
|
||||
variables:
|
||||
SCRIPT_NAME: "dt-binding-check.sh"
|
||||
ARTIFACT_FILE: "dt-binding-check.log"
|
||||
19
drivers/gpu/drm/ci/dt-binding-check.sh
Executable file
19
drivers/gpu/drm/ci/dt-binding-check.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
VENV_PATH="${VENV_PATH:-/tmp/dtschema-venv}"
|
||||
source "${VENV_PATH}/bin/activate"
|
||||
|
||||
if ! make -j"${FDO_CI_CONCURRENT:-4}" dt_binding_check \
|
||||
DT_SCHEMA_FILES="${SCHEMA:-}" 2>dt-binding-check.log; then
|
||||
echo "ERROR: 'make dt_binding_check' failed. Please check dt-binding-check.log for details."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -s dt-binding-check.log ]]; then
|
||||
echo "WARNING: dt_binding_check reported warnings. Please check dt-binding-check.log" \
|
||||
"for details."
|
||||
exit 102
|
||||
fi
|
||||
22
drivers/gpu/drm/ci/dtbs-check.sh
Executable file
22
drivers/gpu/drm/ci/dtbs-check.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
: "${KERNEL_ARCH:?ERROR: KERNEL_ARCH must be set}"
|
||||
: "${LLVM_VERSION:?ERROR: LLVM_VERSION must be set}"
|
||||
|
||||
./drivers/gpu/drm/ci/setup-llvm-links.sh
|
||||
|
||||
make LLVM=1 ARCH="${KERNEL_ARCH}" defconfig
|
||||
|
||||
if ! make -j"${FDO_CI_CONCURRENT:-4}" ARCH="${KERNEL_ARCH}" LLVM=1 dtbs_check \
|
||||
DT_SCHEMA_FILES="${SCHEMA:-}" 2>dtbs-check.log; then
|
||||
echo "ERROR: 'make dtbs_check' failed. Please check dtbs-check.log for details."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -s dtbs-check.log ]]; then
|
||||
echo "WARNING: dtbs_check reported warnings. Please check dtbs-check.log for details."
|
||||
exit 102
|
||||
fi
|
||||
@@ -110,6 +110,7 @@ include:
|
||||
- drivers/gpu/drm/ci/static-checks.yml
|
||||
- drivers/gpu/drm/ci/build.yml
|
||||
- drivers/gpu/drm/ci/test.yml
|
||||
- drivers/gpu/drm/ci/check-devicetrees.yml
|
||||
- 'https://gitlab.freedesktop.org/gfx-ci/lab-status/-/raw/main/lab-status.yml'
|
||||
|
||||
|
||||
@@ -119,6 +120,7 @@ stages:
|
||||
- git-archive
|
||||
- build-for-tests
|
||||
- build-only
|
||||
- static-checks
|
||||
- code-validation
|
||||
- amdgpu
|
||||
- i915
|
||||
|
||||
13
drivers/gpu/drm/ci/setup-llvm-links.sh
Executable file
13
drivers/gpu/drm/ci/setup-llvm-links.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: MIT
|
||||
set -euo pipefail
|
||||
|
||||
ln -svf "$(which clang++-${LLVM_VERSION})" /usr/bin/clang++
|
||||
ln -svf "$(which clang-${LLVM_VERSION})" /usr/bin/clang
|
||||
ln -svf "$(which ld.lld-${LLVM_VERSION})" /usr/bin/ld.lld
|
||||
ln -svf "$(which lld-${LLVM_VERSION})" /usr/bin/lld
|
||||
ln -svf "$(which llvm-ar-${LLVM_VERSION})" /usr/bin/llvm-ar
|
||||
ln -svf "$(which llvm-nm-${LLVM_VERSION})" /usr/bin/llvm-nm
|
||||
ln -svf "$(which llvm-objcopy-${LLVM_VERSION})" /usr/bin/llvm-objcopy
|
||||
ln -svf "$(which llvm-readelf-${LLVM_VERSION})" /usr/bin/llvm-readelf
|
||||
ln -svf "$(which llvm-strip-${LLVM_VERSION})" /usr/bin/llvm-strip
|
||||
Reference in New Issue
Block a user