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
Guido Günther
ee8970f23d
ci: Only use letters in "expose_as"
2022-01-19 18:51:29 +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
Luca Bacci
8c2128703b
Merge branch 'provide-libgtk-dll-as-ci-artifact' into 'main'
...
Provide GTK DLL as GitLab CI artifact
See merge request GNOME/gtk!4395
2022-01-19 11:17:28 +00:00
Luca Bacci
b2d9cae0ec
Provide GTK DLL as GitLab CI artifact
2022-01-19 11:17:28 +00: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
Matthias Clasen
cfac6fd752
ci: Use meson 0.59 on macos
2021-12-10 12:12:52 -05:00
Matthias Clasen
ddd5704c92
Update references to master in the repository
2021-11-29 17:37:49 -05:00
Matthias Clasen
bc80eb616d
Revert "ci: Allow macos to fail"
...
This reverts commit b7cab5c5eb
.
We welcome the macos runner back.
2021-11-01 10:33:09 -04:00
Matthias Clasen
b7cab5c5eb
ci: Allow macos to fail
...
The macos runner is out of commission atm
2021-10-18 11:00:27 -04:00
Benjamin Otte
e581c148d9
testsuite: Add run for GLES
...
This is supposed to test the most fallback GL stuff, so we might want to
set even more env vars here.
Also enable the run for the Fedora builder in CI.
2021-10-09 06:27:21 +02:00
Emmanuele Bassi
c317a1b7c4
ci: Update the Docker image to use
2021-09-24 19:00:09 +01:00
Matthias Clasen
c70fdd6331
ci: Use the v4 image
2021-09-14 08:06:09 -04:00
Matthias Clasen
d757696116
ci: Add libjpeg-turbo-devel to the Fedora image
...
This was getting downloaded from sourceforge every
time for the docs build, and that started failing.
2021-08-10 08:22:52 -04:00
Emmanuele Bassi
316cc55e69
ci: Trigger a pages build
...
Do not publish the API reference directly, but trigger a CI pipeline for
the docs-gtk-org branch, which will then do the publishing.
2021-07-31 17:13:27 +01:00
Matthias Clasen
05eaffb9f2
ci: Collect tools test output
...
This should help understanding why some of them fail.
2021-07-28 22:42:46 -04:00
Benjamin Otte
9f6fb161e2
build: Set proper defaults for media backends
...
GTK supports webm playback, which means a backend should always be
compiled.
The ffmpeg backend however is incomplete (no audio) and as such, we
don't want people to end up with it accidentally.
Since we don't want to drag an entire gstreamer build into our ci
on MacOs or msvc, explicitly disable the gstreame media backend there.
2021-07-20 14:00:25 -04:00
Matthias Clasen
fb052c8d25
ci: Build Broadway on MacOS
...
We've seen a build failure if Broadway is built without
the X11 backend. Lets recreate that configuration in ci
so it doesn't break again.
2021-06-18 06:09:14 -07:00
Matthias Clasen
193903ce4a
ci: Update the image
...
v32 of the image includes wayland-protocols 1.21, and
other updates from Fedora 34.
While we are at it, drop gtk-doc from the image, and drop
the separate DOCS_IMAGE - no longer used.
2021-06-09 08:42:37 -04:00
Matthias Clasen
386002597b
ci: Collect hello build logs
2021-06-09 08:42:30 -04:00
Matthias Clasen
e5a6d4a1c8
ci: Test building against installed GTK
...
This is meant to ensure that we e.g. install the
right header files, and so on.
2021-06-09 08:42:30 -04:00
Matthias Clasen
497b843e76
ci: Add clang-extra-tools to the image
...
Hurray for bite-size packages! Splitting
this off broke our style check in ci.
2021-05-10 08:52:12 -04:00
Matthias Clasen
c8eeb46aa5
Merge branch 'update-ci-to-f34' into 'master'
...
WIP ci: Update the image to Fedora 34
See merge request GNOME/gtk!3516
2021-05-05 23:17:07 +00:00
Matthias Clasen
de056a3319
ci: Show OS release for our containers
2021-05-05 16:22:32 -04:00
Xavier Claessens
d8f44c06e8
ci: Add MSVC build
...
This script is copied from glib CI.
2021-05-05 09:16:36 -04:00
Matthias Clasen
24072f26ca
ci: Update the image to Fedora 34
...
This is in preparation to using mutter --headless
for tests.
2021-05-05 08:17:26 -04:00
Emmanuele Bassi
ed412f43d1
ci: Drop the split Fedora images
...
Now that we don't need the whole of Pandoc to build our documentation,
we can go back to a single Fedora image for our CI.
2021-04-09 12:28:08 +01:00
Emmanuele Bassi
f1b3492700
ci: Add missing graphviz dependency
...
We generate the hierarchy graph for GTK types, and in order to do so, we
need the dot utility from graphviz in the CI image.
2021-03-30 21:08:43 +01:00
Emmanuele Bassi
0560397aa8
ci: Build Pango and GdkPixbuf's docs
...
We want to publish them alongside GTK's own API reference.
2021-03-23 13:13:53 +00:00
Emmanuele Bassi
1763ede9ce
Add a landing page for the GitLab pages root
...
Right now, we land inside a 404 if we go to:
https://gnome.pages.gitlab.gnome.org/gtk/
as we have all our API references in a sub-level. We should have a
landing page for the root, similar to developer.gnome.org/references/.
2021-03-19 13:54:32 +00:00
Emmanuele Bassi
787830d360
ci: Update the CI image for docs building
...
We don't use Pandoc any more, but we need a bunch of Python modules for
gi-docgen.
2021-03-11 16:37:29 +00:00
Emmanuele Bassi
4018417ceb
ci: Update the reference job
2021-03-11 16:37:29 +00:00
Matthias Clasen
b1c1e02c28
ci: Add debug spew on macos
2021-02-12 15:24:27 -05:00
Bartłomiej Piotrowski
0ce0402edf
Revert "Merge branch 'disable-macos-ci' into 'master'"
...
This reverts merge request !3183
2021-02-12 19:40:57 +00:00
Matthias Clasen
0a3fa40923
ci: Update the Fedora image to F33
2021-02-11 22:02:39 -05:00
Matthias Clasen
8cd4b338db
ci: Temporarily disable macOS CI job as runner is offline
...
See https://gitlab.gnome.org/Infrastructure/GitLab/-/issues/495
2021-02-10 19:50:17 -05:00
Matthias Clasen
b37a69d76c
ci: Add mesa-libGLES-devel
...
Try again, since libglvnd-devel is not the right choice.
2021-01-29 12:55:46 -05:00
Matthias Clasen
454caa3eec
ci: Use v26 of the Fedora image
...
This includes libglvnd-devel and should fix using the
gstreamer gl support.
2021-01-29 11:14:54 -05:00
Emmanuele Bassi
195b98f19a
ci: Only run macOS job on upstream branches
...
Don't run CI on macOS for forks.
2021-01-07 16:14:04 +00:00
Emmanuele Bassi
87e0a28482
ci: Specify only
for other jobs
...
Otherwise MRs will only run macOS jobs.
2021-01-07 16:13:59 +00:00
Matthias Clasen
0336af06f1
ci: Limit macos runs
...
We are building the full stack here, which is pretty expensive,
so only do it for merge requests and master.
2021-01-06 09:36:54 -05:00
Matthias Clasen
0c8124828f
ci: Disable pixman tests on MacOS
...
The pixman tests fail to build, and I don't have
the stamina to fix all sub-sub-projects, so just
disable the tests.
2021-01-03 21:34:04 -05:00
Matthias Clasen
0605c3c167
ci: Fix the harfbuzz build on MacOS
...
We need to force c++11 at the toplevel here, since
meson can't deal with per-project compiler choice.
2021-01-03 21:34:04 -05:00
Matthias Clasen
45bb4dc80c
ci: Add a macos build
...
Most of this is cribbed from glib.
We don't use COMMON_MESON_FLAGS here, since disabling
-Werror one subproject at a time is too painful for
all the promoted sub-sub-projects. This needs a better
solution in meson.
Since this is a full rebuild of the entire stack, limit
this to master and merge requests.
2021-01-03 21:34:04 -05:00
Jordan Petridis
fe690265eb
ci: publish demo apps to the Nightly repository
2020-11-13 20:38:09 +02:00
Emmanuele Bassi
4b60e7470a
Use test AT context with installed tests
...
Otherwise we're going to need an AT-SPI service on the session, and the
accessibility bus.
2020-10-12 16:19:31 +01:00
Matthias Clasen
6e7c0ce06b
ci: Give up on sysprof for now
...
Using sysprof and glib as subprojects of the same
project sadly does not work. Subprojects are not
as robust as they should be.
2020-10-01 07:37:44 -04:00
Matthias Clasen
9bac129707
ci: Try to get everything building again
...
It turns out that the sysprof meson setup does not
work with meson 0.54 :( So version 25 of our ci images
bumps the meson version to 0.55.3.
2020-09-30 23:43:03 -04:00
Matthias Clasen
b936419125
ci: Remove --fatal-meson-warnings
...
meson adds features that then trigger warnings when we run
a newer meson over some of our subprojects. This is all too
fragile.
2020-09-30 15:53:15 -04:00
Matthias Clasen
7780b89e8a
ci: Really enable werror
...
We wanted to enable werror for gtk without enabling it
for all our subprojects. Sadly, we failed. Try again
2020-09-30 15:26:20 -04:00
Matthias Clasen
517a8406b0
ci: Use the v24 images
...
These images have meson 0.54.
2020-09-30 15:26:20 -04:00
Xavier Claessens
fd1e8afe9d
meson: Change introspection option to yielding feature
...
Yielding option means that if pango is built as a subproject, it will
take the value of that option from the parent project (e.g. gst-build).
For that to work it must be of the same type, which is "feature" instead
of "boolean" in all GStreamer modules.
2020-09-30 15:11:27 -04:00
Matthias Clasen
3aa2519c2b
ci: Use v23 images
...
I added libcloudproviders to the base image, but
now I see that we already enabled libcloudproviders
in the build anyway, so I'm a bit confused.
Fixes : #2480
2020-09-27 11:48:19 -04:00
Matthias Clasen
c4d350c260
build: Start using meson feature options
...
Use feature options for things that are optional features,
update the docs.
Visible changes here is that the 'print-backends' option
got renamed to 'print' to go better with 'media', and the
'tracker3' option got renamed to 'tracker'.
For options that have been changed into features, the
syntax now is -Dfeature=enabled or -Dfeature=disabled
or -Dfeature=auto.
2020-08-23 16:45:15 -04:00
Matthias Clasen
e915a1aa7f
Rename the profiler option
...
We don't support any profilers other than sysprof,
so name the option accordingly. While we are at it,
change it to a meson feature option, so
-Dprofiler=true becomes -Dsysprof=enabled
2020-08-21 18:51:48 -04:00
Matthias Clasen
64b8d8b3e4
ci: Update subprojects
...
Otherwise, we end up stuck on old checkouts, and
bumping requirements lets to build failures.
2020-08-03 08:11:03 -04:00
Matthias Clasen
7cf61e6a4b
ci: Add a build that runs installed tests
...
This will hopefully prevent regressions in
installed-tests.
2020-08-01 23:24:36 -04:00
Matthias Clasen
3a9b824ce5
ci: Use newer fedora image
...
v22 adds gnome-desktop-testing-runner and enables sudo.
2020-08-01 22:12:47 -04:00
Matthias Clasen
15982ab6d2
meson: Try to limit the damage
...
Try to teach meson not to build our subprojects with
-Werror, since that is just insane, and exposes us
to random build failures in subprojects.
2020-07-31 14:20:11 -04:00
Emmanuele Bassi
19bae10b45
ci: Use DAG attributes
...
Some jobs can run out of order, as they are entirely self-contained. If
we use the newly added DAG attributes, we can speed up the CI pipeline.
2020-07-27 12:44:36 +01:00
Bartłomiej Piotrowski
d9ece94377
ci: Switch ASAN tests to runners tagged so
2020-07-20 16:41:46 +02:00
Emmanuele Bassi
70e4dabe89
ci: Increase the timeout multiplier
...
We do have some slow tests.
2020-07-10 16:08:59 +01:00
Matthias Clasen
d98c0d32f2
ci: Add a build with asan
...
Run our testsuite under asan. We do this in a
separate build, since we need to turn off
introspection to make the build succeed.
As Michael Catanzaro pointed out, this requires a
privileged runner in order to use kernel apis.
2020-07-09 19:43:06 -04:00
Matthias Clasen
2d36109565
ci: Use the fedora:v20 image
...
This image includes libasan and libubsan.
2020-07-09 15:07:50 -04:00
Emmanuele Bassi
d243c6d7f9
ci: Enable libcloudproviders support
...
We ended up breaking the build when it's enabled, so we should test the
feature in our CI pipeline.
2020-06-17 14:06:20 -04:00
Emmanuele Bassi
73fdefd65c
ci: Move backend Meson flags into a variable
...
So we don't have to copy them around.
2020-06-17 13:29:14 +01:00
Emmanuele Bassi
86562a6c5a
ci: Move images into environment variables
...
Currently we have to hunt all the `image` keys when updating the image
in use for a job. We should centralise them all at the top of the file,
so they are easy to update in one simple change.
2020-06-17 13:28:07 +01:00
Christoph Reiter
f16b34f286
CI: Switch to 64bit mingw for the MSYS2 job
...
64 bit is more common now and also tests more things because
sizeof(glong) != sizeof(gpointer)
2020-06-14 20:02:46 +02:00
Matthias Clasen
86f8be41d0
ci: Use fedora-docs for the doc build
...
Our doc build now uses pandoc, so use an image
that has it.
2020-05-25 16:11:18 -04:00
Emmanuele Bassi
8070bac06c
ci: Use extends instead of YAML anchors
...
The `extends` keyword is more readable than YAML's weird anchor syntax,
and we don't have too many anchors in our job definitions anyway.
2020-05-17 00:30:07 +01:00
Matthias Clasen
31cf894092
ci: Run tests with different backends
...
Run the testsuite under x11, wayland and broadway
in the fedora-x86_64 job. This requires us to use
the v17 image which includes weston.
2020-05-15 14:11:53 -04:00
Christoph Reiter
94202e6339
CI: use bash style variable expansion for the mingw cache key
...
It doesn't understand the powershell syntax which leads to the cache
key being empty which leads to cache restore being skipped
which leads to slow builds not using ccache.
See https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2747
2020-05-06 21:23:14 +02:00
Christoph Reiter
662539acf7
CI: Switch to new Windows runners
...
They use powershell instead of cmd.exe, use the tag win32-ps instead of win32,
and run Windows 2016 instead of 2012r2.
The old runners will be switched off in the comming weeks.
2020-04-29 20:12:34 +02:00
Emmanuele Bassi
e692385baa
ci: Update the version of Meson in our Docker image
...
Needed for !1017 .
2020-04-08 12:26:58 +01:00
Emmanuele Bassi
bf6087f2da
ci: Add dbus-launch to the Docker build
2020-03-20 15:36:39 +00:00
Emmanuele Bassi
341b2a3d39
ci: Add a static analysis job
...
Use the Clang static analysis tool.
For the time being, we're going to allow it to fail, but the plan is to
fix every issue it raises.
2020-02-25 19:06:39 +00:00
Emmanuele Bassi
d9608a0357
ci: Move style-check to .pre phase
...
We want the style checks running at the start of the CI pipeline, no
need to have a specific phase for it.
2020-02-25 17:57:46 +00:00
Emmanuele Bassi
92d86c4a9f
ci: Update all fedora images to v14
2020-02-25 17:19:08 +00:00
Emmanuele Bassi
a87966b2bf
ci: Rename the "style-check" phase to "analysis"
...
We want to re-use it for other jobs.
2020-02-25 17:15:00 +00:00
Emmanuele Bassi
97b5775c1f
ci: Add a separate "docs" stage
...
Don't build the API reference on deploy; build it in a separate job,
instead, so we can run it on all pipelines, and deploy it only for
master.
2020-02-25 17:09:24 +00:00
Emmanuele Bassi
3a054d5a90
ci: Update flatpak jobs
...
The CI infrastructure was changed to run with fewer privileges, so we
need to adapt our Flatpak jobs to compensate.
See: https://mail.gnome.org/archives/desktop-devel-list/2020-February/msg00055.html
2020-02-19 15:04:58 +00:00
Emmanuele Bassi
9a631f2942
ci: Remove G_MESSAGES_DEBUG
...
We don't need all the debugging messages.
2020-02-13 17:10:19 +00:00
Emmanuele Bassi
9332abfd5b
ci: Allow flatpak jobs to fail
...
We have more accurate CI jobs, now; the Flatpak jobs are nice to have.
2020-02-13 17:09:35 +00:00
Matthias Clasen
2e0af29839
Make release builds mandatory for ci
...
The tests are now passing in release builds, lets keep
it that way.
2020-02-13 11:21:15 -05:00
Emmanuele Bassi
3dc6a07f5d
ci: Re-enable ccache
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
f2da5e5617
ci: Deploy the API ref before flatpak
2020-02-12 18:12:53 +00:00
Emmanuele Bassi
2b425fa88a
ci: Allow release job to fail
...
We need to investigate release-specific failures, and possibly fix our
test suite to deal with debug-specific poking through the internal
state.
For the time being, allow the release job to fail, but this is strictly
a temporary measure.
2020-02-11 15:12:14 +00:00
Emmanuele Bassi
76aba1f046
ci: Add a style check pass
...
We should at least try to get the style check done by a machine, as
opposed to have humans go through merge requests with coding style
nitpicks.
2020-02-11 14:47:22 +00:00
Emmanuele Bassi
59028d7d0f
ci: Generate the report for the release builds
...
We are going to need to hide the report generation into the test runner
script, as we want the job to produce the reports even in case of
failure, instead of bailing out immediately.
2020-02-11 14:47:22 +00:00
Emmanuele Bassi
c00896a090
ci: Remove static build job
...
Now that we figured out why the build was failing on Fedora when the
profiling code was enabled, we can go back to building both shared and
static libraries by default.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
5ace9ef4e8
ci: Use the new Fedora image
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
74b5bb12fb
ci: Disable ccache
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
c06a08d63a
ci: Split the static and shared builds (again)
...
Sadly, we can't do a static build with the profiling code enabled
because we don't have a static GLib build available.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
9e38a70c6b
ci: Replicate the CI image scripts from GLib
...
They are easier to use and document, and allow us to add new base images
in the future without making a mess.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
56f9cdd99d
ci: Refactor the CI pipeline
...
We should have a single job for building both static and shared
versions of GTK. On the other hand, having a separate job for the
release build would be a plus.
Additionally, we shouldn't use an opaque script to build GTK; the only
step in the process that requires hand-holding is running the tests
suites under Xvfb, and having the build options visible from the YAML
file gives us a better idea of what kind of build we're running.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
51e155bffa
ci: Deploy the API reference on our GitLab pages
...
Now that we can build gtk-doc as a sub-project, we can go back to
publishing the API reference for the master branch every time we
build it.
2020-01-29 09:46:13 +01:00
Matthias Clasen
3120fb29e1
ci: Save syscap files from performance tests
...
They might become useful at some point.
2020-01-22 15:55:31 -05:00
Matthias Clasen
c8485af819
Use the v9 image for ci runs
...
The v9 image add sysprof-devel, so we can build
and run performance tests using libsysprof.
2020-01-21 19:30:59 -05:00
Christoph Reiter
5ef2748cef
CI: Install a newer MSYS2 pango package; Don't allow failures again
...
gtk master requires a newer pango than msys2 has, so install our own copy on top.
See #2243
2019-12-18 09:25:06 +01:00
Emmanuele Bassi
994a807819
ci: Use latest CI image
2019-12-16 19:01:03 +00:00