CI: add sway compositor to CI tests, to prepare for better Wayland testing
closes: #17162
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fc6cd96..cdc0562 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -29,6 +29,7 @@
LOG_DIR: ${{ github.workspace }}/logs
TERM: xterm
DISPLAY: ':99'
+ WAYLAND_DISPLAY: 'wayland-1'
DEBIAN_FRONTEND: noninteractive
strategy:
@@ -114,6 +115,7 @@
run: |
# This is added by default, and it is often broken, but we don't need anything from it
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
+
PKGS=( \
gettext \
libgtk2.0-dev:${{ matrix.architecture }} \
@@ -123,6 +125,7 @@
libxt-dev:${{ matrix.architecture }} \
locales-all \
software-properties-common \
+ sway \
)
if ${{ matrix.features == 'huge' }}; then
LUA_VER=${{ matrix.lua_ver || '5.4' }}
@@ -143,6 +146,7 @@
libattr1-dev
)
fi
+
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y "${PKGS[@]}"
- name: Install gcc-${{ env.GCC_VER }}
@@ -232,6 +236,8 @@
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
sudo usermod -a -G audio "${USER}"
sudo bash ci/setup-xvfb.sh
+ # Sway requires user session
+ bash ci/setup-sway.sh
- name: Check autoconf
if: contains(matrix.extra, 'unittests')
diff --git a/Filelist b/Filelist
index c5b3c4f..a7a937c 100644
--- a/Filelist
+++ b/Filelist
@@ -25,6 +25,7 @@
ci/if_ver*.vim \
ci/if_feat_check.vim \
ci/setup-xvfb.sh \
+ ci/setup-sway.sh \
ci/remove_snap.sh \
src/Make_all.mak \
src/README.md \
diff --git a/ci/setup-sway.sh b/ci/setup-sway.sh
new file mode 100644
index 0000000..060b7f9
--- /dev/null
+++ b/ci/setup-sway.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+set -e
+
+# Using a systemd user service doesn't work because it seems like github actions
+# doesn't support user sessions? Just run sway in the background and disown it.
+WLR_BACKENDS=headless sway &
+disown