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:
parent
924939c886
commit
89b7f45010
|
@ -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
|
||||
#
|
||||
|
|
|
@ -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 \
|
||||
|
|
Loading…
Reference in New Issue