Test more backends in CI
I tried to get cairo-x11 tested in CI. The end result is: My CI job still fails with
usr/bin/bash: line 150: xvfb-run: command not found
What I tried:
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1a42cc655..b6caa48cb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -19,6 +19,9 @@ variables:
-Dglesv2=auto
-Dglesv3=auto
+ FDO_DISTRIBUTION_PACKAGES: >
+ xorg-x11-server-Xvfb
+
stages:
- prep
- test
@@ -54,6 +57,7 @@ fedora image:
- '.fdo.container-build@fedora'
stage: 'prep'
variables:
+ # FIXME: I *think* this list is completely ignored
FDO_DISTRIBUTION_PACKAGES: >
meson
ninja-build
@@ -87,6 +91,7 @@ fedora image:
which
libtool
diffutils
+ xorg-x11-server-Xvfb
fedora autotools build:
extends:
@@ -107,11 +112,12 @@ fedora autotools build:
- expo[SNIP - I hand-edited this to make it shorter. I know this broke the patch. You'll manage]
- - make check V=1 VERBOSE=1
+ - xvfb-run make check V=1 VERBOSE=1
artifacts:
when: 'always'
expire_in: "7 days"
paths:
+ - config.log
- test/*.log
- test/pdiff/*.log
- test/output
@@ -175,7 +181,8 @@ fedora meson build:
# cmd.exe, that's why we use $env:FOO instead of %FOO%
- cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=$env:ARCH &&
meson build $env:MESON_ARGS &&
- ninja -C build"
+ ninja -C build &&
+ ninja -C build test"
meson vs2017 amd64:
extends: '.build meson windows'
That last hunk that tries to run the test suite on windows also was a bit weird: https://gitlab.freedesktop.org/psychon/cairo/-/jobs/8966266
Why is this running glib and pixman tests? That's not what I wanted! Perhaps it is easier to simply run cairo-test-suite.exe
directly...?
Edit: That win32 build finished by now. The build log only shows the last 100 lines of cairo-test-suite
output and everything either failed or crashed. I guess that backends like script, recording, and perhaps even image should not be tested in windows ci.
To summarise: I don't know how to get stuff installed in the images.
- cairo-xlib and cairo-xcb need an X11 server.
xorg-x11-server-Xvfb
should do and should provide thexvfb-run
command. - cairo-ps needs ghostscript. See
config.log
: "WARNING: PS backend will not be tested since ghostscript is not available" - cairo-svg needs rsvg. See
config.log
: "PKG_CONFIG --exists --print-errors "
librsvg_DEPENDENCY gdk-2.0" Package gdk-2.0 was not found in the pkg-config search path." - cairo-win32 needs... I am not sure. Someone who understands meson and this GitLab CI stuff? @tpm are you interested?
- cairo-quartz: I guess the situation is similar.
- Likely not worth it for now: cairo-tee, cairo-xml (huh, I didn't know we had that), cairo-qt, cairo-os2 (???), cairo-gl, cairo-beos, cairo-directfb, cairo-openvg, cairo-drm, cairo-cogl