CI: add a driver build stage to check for header breakage

Pull a few drivers and try to build their most recent release (or a
specific SHA) and see if they still build. If they do, yay, otherwise
fail.

Dependency-wise we need to keep libevdev-dev and libinput-dev around
now and add libspice-protocol-dev for the qxl driver.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1318>
This commit is contained in:
Peter Hutterer 2024-02-20 08:41:15 +10:00 committed by Marge Bot
parent 924939c886
commit 89b7f45010
2 changed files with 50 additions and 3 deletions

View File

@ -19,7 +19,7 @@ variables:
FDO_UPSTREAM_REPO: xorg/xserver
FDO_DISTRIBUTION_VERSION: bullseye-slim
FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/debian-install.sh'
FDO_DISTRIBUTION_TAG: "2023-06-20-libei.0"
FDO_DISTRIBUTION_TAG: "2024-02-29-libei.0"
MESON_BUILDDIR: "build"
include:
@ -34,6 +34,7 @@ include:
stages:
- docker-image
- build-and-test
- drivers
- test
.ci-run-policy:
@ -121,6 +122,52 @@ meson-dist:
MESON_DIST_ARGS: --no-tests
DESTDIR: xserver-tarball/install/
xf86-driver-build-test:
extends:
- .fdo.distribution-image@debian
- .ci-run-policy
stage: drivers
parallel:
matrix:
- REPO: https://gitlab.freedesktop.org/xorg/driver/xf86-input-evdev
SHA: xf86-input-evdev-2.10.6
- REPO: https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput
SHA: xf86-input-libinput-1.4.0
- REPO: https://gitlab.freedesktop.org/xorg/driver/xf86-input-mouse
SHA: xf86-input-mouse-1.9.5
- REPO: https://gitlab.freedesktop.org/xorg/driver/xf86-input-synaptics
SHA: xf86-input-synaptics-1.9.2
- REPO: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu
SHA: xf86-video-amdgpu-23.0.0
- REPO: https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati
SHA: xf86-video-ati-22.0.0
- REPO: https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl
SHA: xf86-video-qxl-0.1.6
- REPO: https://gitlab.freedesktop.org/xorg/driver/xf86-video-vesa
SHA: xf86-video-vesa-2.6.0
- REPO: https://gitlab.freedesktop.org/xorg/driver/xf86-video-vmware
SHA: xf86-video-vmware-13.4.0
script:
# Install the server first
- .gitlab-ci/meson-build.sh --skip-test --run-install
- unset MESON_EXTRA_ARGS
- DRIVER=$(basename $REPO)
- git clone "$REPO" "$DRIVER"
- GIT_DIR="$DRIVER/.git" git checkout -f "$SHA"
- |
if [[ -e "$DRIVER/meson.build" ]]; then
.gitlab-ci/meson-build.sh -C "$DRIVER" --skip-test
else
pushd "$DRIVER" || exit 1
./autogen.sh && make
fi
needs:
- "meson"
variables:
GIT_DEPTH: 1
MESON_ARGS: -Dprefix=/usr/
MESON_EXTRA_ARGS: -Dxwayland=false -Dxnest=false -Dxvfb=false -Dxquartz=false -Ddocs=false
#
# Verify that commit messages are as expected
#

View File

@ -6,10 +6,8 @@ set -o xtrace
# Packages which are needed by this script, but not for the xserver build
EPHEMERAL="
libcairo2-dev
libevdev-dev
libexpat-dev
libgles2-mesa-dev
libinput-dev
libxkbcommon-dev
x11-utils
x11-xserver-utils
@ -46,12 +44,14 @@ apt-get install -y \
libgles2 \
libglx-mesa0 \
libinput10 \
libinput-dev \
libnvidia-egl-wayland-dev \
libpango1.0-0 \
libpango1.0-dev \
libpciaccess-dev \
libpixman-1-dev \
libselinux1-dev \
libspice-protocol-dev \
libsystemd-dev \
libtool \
libudev-dev \