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_UPSTREAM_REPO: xorg/xserver
|
||||||
FDO_DISTRIBUTION_VERSION: bullseye-slim
|
FDO_DISTRIBUTION_VERSION: bullseye-slim
|
||||||
FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/debian-install.sh'
|
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"
|
MESON_BUILDDIR: "build"
|
||||||
|
|
||||||
include:
|
include:
|
||||||
|
@ -34,6 +34,7 @@ include:
|
||||||
stages:
|
stages:
|
||||||
- docker-image
|
- docker-image
|
||||||
- build-and-test
|
- build-and-test
|
||||||
|
- drivers
|
||||||
- test
|
- test
|
||||||
|
|
||||||
.ci-run-policy:
|
.ci-run-policy:
|
||||||
|
@ -121,6 +122,52 @@ meson-dist:
|
||||||
MESON_DIST_ARGS: --no-tests
|
MESON_DIST_ARGS: --no-tests
|
||||||
DESTDIR: xserver-tarball/install/
|
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
|
# 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
|
# Packages which are needed by this script, but not for the xserver build
|
||||||
EPHEMERAL="
|
EPHEMERAL="
|
||||||
libcairo2-dev
|
libcairo2-dev
|
||||||
libevdev-dev
|
|
||||||
libexpat-dev
|
libexpat-dev
|
||||||
libgles2-mesa-dev
|
libgles2-mesa-dev
|
||||||
libinput-dev
|
|
||||||
libxkbcommon-dev
|
libxkbcommon-dev
|
||||||
x11-utils
|
x11-utils
|
||||||
x11-xserver-utils
|
x11-xserver-utils
|
||||||
|
@ -46,12 +44,14 @@ apt-get install -y \
|
||||||
libgles2 \
|
libgles2 \
|
||||||
libglx-mesa0 \
|
libglx-mesa0 \
|
||||||
libinput10 \
|
libinput10 \
|
||||||
|
libinput-dev \
|
||||||
libnvidia-egl-wayland-dev \
|
libnvidia-egl-wayland-dev \
|
||||||
libpango1.0-0 \
|
libpango1.0-0 \
|
||||||
libpango1.0-dev \
|
libpango1.0-dev \
|
||||||
libpciaccess-dev \
|
libpciaccess-dev \
|
||||||
libpixman-1-dev \
|
libpixman-1-dev \
|
||||||
libselinux1-dev \
|
libselinux1-dev \
|
||||||
|
libspice-protocol-dev \
|
||||||
libsystemd-dev \
|
libsystemd-dev \
|
||||||
libtool \
|
libtool \
|
||||||
libudev-dev \
|
libudev-dev \
|
||||||
|
|
Loading…
Reference in New Issue