From e558d6acb9845ba63f3c4809afa8dece02cc9e39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Thu, 21 Jan 2021 19:14:23 +0100 Subject: [PATCH] ci: Install Xwayland from git This gives us -initfd, thus Xwayland on demand in the CI. Part-of: --- .gitlab-ci.yml | 25 ++++++++++++++++++++++--- .gitlab-ci/install-meson-project.sh | 11 +++++++++-- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 58518fb2c..94b9a48cc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,7 +12,7 @@ stages: .mutter.fedora:33@common: variables: FDO_DISTRIBUTION_VERSION: 33 - BASE_TAG: '2021-01-14.0' + BASE_TAG: '2021-01-22.0' FDO_UPSTREAM_REPO: GNOME/mutter FDO_DISTRIBUTION_EXEC: | dnf install -y 'dnf-command(builddep)' && @@ -20,16 +20,20 @@ stages: # For running unit tests dnf install -y xorg-x11-server-Xvfb mesa-dri-drivers dbus dbus-x11 \ - xorg-x11-server-Xvfb 'pkgconfig(accountsservice)' \ + 'pkgconfig(accountsservice)' \ gnome-control-center gcovr libnma python3-gobject \ python3-dbusmock && # GNOME Shell dnf builddep -y gnome-shell --setopt=install_weak_deps=False && - dnf install -y 'pkgconfig(gtk4)' 'pkgconfig(vulkan)' && + dnf install -y 'pkgconfig(gtk4)' 'pkgconfig(vulkan)' 'pkgconfig(libtirpc)' && dnf remove -y gnome-bluetooth-libs-devel && dnf remove -y --noautoremove mutter mutter-devel && + # For Xwayland/Xvfb + dnf builddep -y xorg-x11-server-Xwayland --setopt=install_weak_deps=False && + dnf remove -y --noautoremove 'xorg-x11-server-Xwayland' && + ./.gitlab-ci/install-meson-project.sh \ -Dlibaudit=disabled \ -Dplymouth=disabled \ @@ -42,6 +46,21 @@ stages: https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas.git \ 40.alpha . && + ./.gitlab-ci/install-meson-project.sh \ + -Dxwayland=true \ + -Dxwayland_eglstream=true \ + -D{xorg,xnest,xvfb}=false \ + -Dvendor_name="Mutter CI" \ + -D{xdmcp,udev,udev_kms}=false \ + -Dxcsecurity=true \ + -Dglamor=true \ + -D{dri1,dri2}=false \ + -Ddri3=true \ + https://gitlab.freedesktop.org/xorg/xserver.git \ + master \ + . \ + a9269808f394955f213e34303c2c14fd61c35ab5 && + dnf clean all default: diff --git a/.gitlab-ci/install-meson-project.sh b/.gitlab-ci/install-meson-project.sh index 7cbb66279..575410b13 100755 --- a/.gitlab-ci/install-meson-project.sh +++ b/.gitlab-ci/install-meson-project.sh @@ -17,14 +17,21 @@ while [[ $1 =~ ^-D ]]; do done REPO_URL="$1" -COMMIT="$2" +TAG_OR_BRANCH="$2" SUBDIR="$3" +COMMIT="$4" REPO_DIR="$(basename ${REPO_URL%.git})" -git clone --depth 1 "$REPO_URL" -b "$COMMIT" +git clone --depth 1 "$REPO_URL" -b "$TAG_OR_BRANCH" pushd "$REPO_DIR" pushd "$SUBDIR" + +if [ ! -z "$COMMIT" ]; then + git fetch origin "$COMMIT" + git checkout "$COMMIT" +fi + meson --prefix=/usr _build "${MESON_OPTIONS[@]}" ninja -C _build install popd