Commit Graph

212 Commits

Author SHA1 Message Date
Matthias Clasen
85ce343816 ci: Update the fedora image for F39
This will hopefully help with getting the gpu renderer tests
to work.
2023-11-27 09:51:14 -05:00
Matthias Clasen
c668519d07 ci: Handle deprecation warnings in report scripts 2023-11-25 11:21:48 -05:00
Matthias Clasen
e2bd7defa4 ci: Tweak the run-tests script
The main change here is to pass the suites to run as an explicit
argument. This is in preparation for running less tests.
2023-11-25 10:37:39 -05:00
Benjamin Otte
72d2b8e546 Revert "ci: Tweak the run-tests script"
This reverts commit 9aadc2b860.
2023-11-25 13:09:50 +01:00
Benjamin Otte
37f7f3d60c Revert "wip: ci: rework the test runs"
This reverts commit c679ba9ebf.
2023-11-25 13:09:50 +01:00
Matthias Clasen
c679ba9ebf wip: ci: rework the test runs 2023-11-19 21:26:04 -05:00
Matthias Clasen
9aadc2b860 ci: Tweak the run-tests script
The main change here is to pass the suite to run as an explicit
argument. This is in preparation for running less tests.
2023-11-19 21:26:04 -05:00
Matthias Clasen
14e60d21ac ci: Skip the headless tests
Despite waiting for a long time, these still
regularly time out on slow runners.
2023-09-21 12:17:47 -04:00
Georges Basile Stavracas Neto
162759f34b ci: Limit parallel linking on Windows CI
Linking on Windows can easily run out of memory, and limiting it
to a single link operation (i.e. disabling parallelization) should
be enough to avoid this problem.
2023-08-21 15:29:51 -03:00
Emmanuele Bassi
09be7f65d5 Add a single test runner
Running the whole test suite is not fun, and the magic incantations for
running a specific backend are too complicated to remember.
2023-07-30 13:29:36 +03:00
Benjamin Otte
390a104ddd ci: Include glslc for Vulkan builds 2023-07-19 21:30:29 +02:00
Matthias Clasen
5c407365e3 ci: Use the current build options for flatpaks
These were changed a while ago.
2023-06-20 20:49:29 -04:00
Matthias Clasen
cf69fecc87 ci: Tweak asan options
Allow the allocator to return NULL, so our
g_try_malloc tests don't fail.
2023-06-05 21:09:51 -04:00
Matthias Clasen
29ad2c1247 ci: Turn off LeakSanitizer
When it is enabled, almost every report from asan is
"LeakSanitizer has encountered a fatal error."
So try without.
2023-06-05 20:56:53 -04:00
Matthias Clasen
6b26a4f9be Revert "ci: More verbose output from asan"
This reverts commit 4f65c121b7.
2023-06-05 14:52:15 -04:00
Matthias Clasen
7055250692 ci: Stop special-casing broadway
We are not running the broadway tests anymore,
so no need to special-case them in the run-test.sh
script either.
2023-05-11 19:53:03 -04:00
Matthias Clasen
f41e58d179 ci: Make run-docker run work
We want to have a writable volume and the same user
inside the container.
2023-05-04 11:38:55 -04:00
Matthias Clasen
bfea39ab2f ci: Add meson back to the fedora image 2023-05-03 20:18:58 -04:00
Matthias Clasen
84d6f023b5 ci: Add pipewire-gstreamer too 2023-05-03 20:18:58 -04:00
Matthias Clasen
7fe04a7122 ci: Add pipewire to the image
And its buddy, wireplumber.

But we don't need gnome-desktop-testing
anymore, now that installed tests are gone.
2023-05-03 20:18:58 -04:00
Matthias Clasen
955a7e643e ci: Produce less terminal output
Pass --quiet to meson test.
Less is more, in this case.
2023-05-03 15:32:50 -04:00
Matthias Clasen
d17ca6b451 ci: Stop running the unstable test setups
This is just duplicating all our test runs,
for no discernible gain.
2023-05-03 15:11:53 -04:00
Matthias Clasen
da7040874e ci: Stop running failing tests
This makes the test output much harder to read,
and is just a waste of time.
2023-05-03 14:42:10 -04:00
Matthias Clasen
81f5967587 Make run-test.sh easier to use locally
Set a default timeout multiplier so we don't
have to rememver obscure environment variables.
2023-05-02 06:38:30 -04:00
Matthias Clasen
5bac4f13a0 ci: Add mutter to the fedora image
This is in preparation for trying to use mutter --headless
in ci.
2023-05-01 21:11:01 -04:00
Matthias Clasen
a235b59089 Skip some tests with small textures
When textures are too large, we will scale them down
to fit the max texture size, which will cause comparisons
to fail.
2023-05-01 16:29:45 -04:00
Jordan Petridis
679657cc0f ci: Use Fedora 38 as the base 2023-03-20 16:16:24 +02:00
Matthias Clasen
9705ccbe2f ci: Run tests with small textures 2023-03-19 10:16:19 -04:00
Matthias Clasen
1cee54009a ci: Disable the testsuite in flatpak builds
No need to build the testsuite when we are
just producing flatpaks.
2023-03-05 07:26:17 -08:00
Emmanuele Bassi
ec7b1f7208 ci: Add no-cache option to run-docker.sh script
Use `run-docker.sh build --no-cache` to discard the cached layers if you
need to rebuild the image without modifying the Dockerfile.
2023-02-17 12:24:09 +00:00
Emmanuele Bassi
864fbf89cd ci: Update image
Refresh the Fedora base (still at 37), and add the Python packaging
module for gi-docgen.
2023-02-17 12:24:09 +00:00
Matthias Clasen
4f65c121b7 ci: More verbose output from asan 2022-12-20 00:32:51 -05:00
Emmanuele Bassi
737342ef23 ci: Don't use builddep to install Wayland build dependencies
We don't want to bring undefined dependencies into the image.

Additionally, Wayland depends on Meson, and we don't want to use
Fedora's version of Meson.
2022-12-20 01:54:57 +00:00
Nirbheek Chauhan
9c6dd9b3b5 ci: Update meson version used for vs2017 job 2022-12-19 03:09:11 +05:30
Emmanuele Bassi
ffad21a9d6 ci: Use Fedora 37 as the base
New stable release means new CI failures.
2022-11-26 14:04:07 +00:00
Emmanuele Bassi
5419f1f2f0 ci: Update the gi-docgen dependencies
The python3-toml package is deprecated, and replaced by python3-tomli.
At least, until we bump up the dependency to Fedora 37: then we can
depend on Python 3.11, and its TOML parser in the standard library.

See also: https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/168
2022-11-25 17:50:21 +00:00
Simon McVittie
957dd49ef7 testsuite: Use separate setups for unstable tests instead of should_fail
There are two possible interpretations of "expected failure": either
the test *must* fail (exactly the inverse of an ordinary test, with
success becoming failure and failure becoming success), or the test
*may* fail (with success intended, but failure possible in some
environments). Autotools had the second interpretation, which seems
more useful in practice, but Meson has the first.

Instead of using should_fail, we can put the tests in one of two new
suites: "flaky" is intended for tests that succeed or fail unpredictably
according to the test environment or chance, while "failing" is for
tests that ought to succeed but currently never do as a result of a
bug or missing functionality. With a sufficiently new version of Meson,
the flaky and failing tests are not run by default, but can be requested
by running a setup that does not exclude them, with a command like:

    meson test --setup=x11_unstable --suite=flaky --suite=failing

As a bonus, now that we're setting up setups and their excluded suites
programmatically, the gsk-compare-broadway tests are also excluded by
default when running the test setup for a non-broadway backend.

When running the tests in CI, --suite=gtk overrides the default
exclude_suites, so we have to specify --no-suite=flaky and
--no-suite=failing explicitly.

This arrangement is inspired by GNOME/glib!2987, which was contributed
by Marco Trevisan.

Signed-off-by: Simon McVittie <smcv@debian.org>
2022-11-24 13:46:33 +00:00
Matthias Clasen
3d2dcb437c ci: Improve style check script
Only fetch the two branches we are about to
compare, and use existing git merge-base to
find the common ancestor.
2022-09-09 19:41:42 -04:00
Matthias Clasen
4b5ed886ce ci: Fix the git usage in scripts
Thanks, git.
2022-09-10 00:16:12 +01:00
Emmanuele Bassi
d6597098f1 ci: Re-sync the style check with GLib 2022-09-10 00:16:12 +01:00
Christoph Reiter
efe100df9e CI: remove workaround for some subproject builds failing on Windows
In some cases subproject builds under MSYS2 failed, see
https://gitlab.gnome.org/GNOME/gtk/-/issues/2243
https://gitlab.gnome.org/GNOME/gtk/-/issues/3002
https://gitlab.gnome.org/GNOME/gtk/-/issues/5053

These manual pango/glib build instructions were added to work around
the problem by avoiding the subprojects.

https://gitlab.gnome.org/GNOME/gtk/-/issues/5053 uncovered the bug in
binutils, which is now fixed in master there and was also backported
into MSYS2 which we use in CI.

So we can just remove the workaround again now.
2022-08-04 22:26:04 +02:00
Jordan Petridis
23bd7c1c05 flatpak-build.sh: change the buildtype to debugoptimized
So that the flatpaks will include debuginfo and make debugging
easier.
2022-07-25 15:42:14 +03:00
Corey Berla
d37ccbffa3 ci: Remove print-backends build option
Flatpak CI is failing because of unknown option "print-backends".
print-backends was renamed to print in c4d350c260
and subsequently was removed in a4aa6d79ad
(replaced by print-cups and print-cloudprint as auto options)
2022-07-13 14:21:12 +00:00
Christoph Reiter
2f695388e9 CI: bump meson version from 0.59 to 0.60.3
We pull in glib main via a submodule in CI and glib has recently
bumped its meson requirement to >= 0.60:
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2641

Install 0.60.3 where needed to make things build again.
2022-05-22 11:46:54 +02:00
Benjamin Otte
e8eb96ae0c CI: Include reftest nodes in artifacts 2022-05-18 19:54:34 +02:00
Matthias Clasen
aa9a8702e4 ci: Update the Fedora image to Fedora 36
Also remove systemtap from the image, since
we don't need it.

The v36 image is still used in gtk-4-6.
2022-05-14 12:23:02 -04:00
Christoph Reiter
e69dc04a7f CI: clean up MSYS2 build dependencies
We only need a C compiler and not the whole toolchain,
and gst-plugins-bad was split into libraries and plugins.
pkg-config -> pkgconf.

This should speed the CI setup up a bit.
2022-03-27 20:10:58 +02:00
Christoph Reiter
eaf952d902 CI: disable debug for MSVC
CI currently fails with "fatal error LNK1318: Unexpected PDB error; OK (0) ''"
Google tells me it might be related to hitting a memory limit. Let's try
disabling debug for now.
2022-02-26 16:32:15 +01:00
Guido Günther
46f1e4c414 ci: Put gtk dll into an archive
This avoids the wild card that makes the CI fail
2022-01-19 18:51:16 +01:00
Jonas Ådahl
66ebc660b4 wayland/surface: Use wl_surface_offset() instead of x,y of attach()
This makes the hotspot of DND surfaces work when using the Vulkan and
OpenGL renderers.

This bumps the CI image used to the newly built image. This is needed to
install a new enough libwayland-client.so needed for wl_surface.offset.

This is done by adding wayland as a meson subproject, building it
on-demand if the version in the system is not new enough. As
libwayland-client.so is pulled in implicitly when linking to gtk4, the
compile step needs LD_LIBRARY_PATH set to make ld find the right library
to link to.
2022-01-14 09:27:07 +01:00