eclipse-sirius / sirius-desktop

Sirius Desktop: desktop-based graphical modelers for dedicated DSLs
https://eclipse.dev/sirius/
Eclipse Public License 2.0
14 stars 11 forks source link

Switch to Wayland instead of X11 for our CI tests #432

Open pcdavid opened 1 month ago

pcdavid commented 1 month ago

Our CI tests, run at https://ci.eclipse.org/sirius, use Xvnc to run a headless X11 session inside a Linux VM. X11 is being abandonned in favor of Wayland in most/all Linux distributions, so we should probably switch to a headless Wayland env at some point.

The main test job which is run daily at https://ci.eclipse.org/sirius/job/sirius.tests-master uses a free-form configuration with the Xvnc Jenkins plug-in and some additional configuration:

Capture d’écran du 2024-07-26 16-18-58

The https://ci.eclipse.org/sirius/job/sirius-pr-check job launched when a PR is created/updated also uses Xvnc but via a Jenkinsfile.

Both will need to be updated.

It looks like it's possible to run mutter (the Wayland compositor from Gnome) in headless mode:

mutter --wayland --headless --virtual-monitor 1920x1080 --no-x11 --wayland-display=wayland-42 --sm-disable

And then launch a (Wayland-compatible) app like this:

WAYLAND_DISPLAY=wayland-42 GDK_BACKEND=wayland terminator

This requires the GNOME 40 (or later) version of mutter: https://www.phoronix.com/news/GNOME-40-Headless-Virtual. Not sure which one (if any) is available in the Docker images provided by CBI.

pcdavid commented 1 month ago

It looks like it's mutter 3.32.2 at the moment. Not sure which version of Gnome this corresponds to.