Commit Graph

250 Commits

Author SHA1 Message Date
Matthias Clasen
a06a4ad59a ci: Allow macos builds to fail
The runner seems busted, so allow builds to fail
for now.
2022-10-11 13:43:36 -04:00
Emmanuele Bassi
821dd26934 ci: Move style check to its own stage
Drop the `.pre` phase.
2022-09-10 00:16:12 +01:00
Marc-André Lureau
63dce34396 ci: add fedora-mingw64 job
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2022-08-18 11:45:21 +04:00
Carlos Garnacho
6a7136d5fb ci: Disable -Werror on wayland submodule
CI is mostly interested in GTK not introducing compiler warnings, other
submodules like Wayland might have their own and that shouldn't hinder
CI testing of GTK.

Disable -Werror for the wayland submodule, and let it be fixed independently
at some point.
2022-08-10 16:37:17 +02:00
Matthias Clasen
81a65690f8 Merge branch 'alatiera/node-flatpak' into 'main'
flatpak: add a NodeEditor demo

See merge request GNOME/gtk!4898
2022-07-28 18:08:47 +00:00
Bartłomiej Piotrowski
ea21923932 Update (or drop) the Docker image used by Flatpak job
The gnome-runtime-images have been recently migrated to Quay. This is already reflected in the template.

Please note this MR has been created semi-automatically. If it doesn't make sense, feel free to close it.
2022-07-27 12:47:50 +02:00
Jordan Petridis
f99880a74a flatpak: add a NodeEditor demo 2022-07-25 15:38:55 +03:00
Emmanuele Bassi
35808a918d ci: Force the fedora image for the publish-docs job
Otherwise every CI runner might decide to use a different default
image, and we'll end up on one that doesn't have curl.
2022-06-28 21:32:08 +01: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
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
Niklas Hambüchen
3936412332 Try building static libs on CI 2019-11-15 18:42:36 +01:00
Emmanuele Bassi
b271db4f5b ci: Allow msys2 jobs to fail
The msys2 runner has started failing for internal reasons:

 - gtk-3-24 times out
 - master fails with a ld.exe assertion:
   BFD (GNU Binutils) 2.33.1 assertion fail
   ../../binutils-2.33.1/bfd/cofflink.c:2348

Both seem related to some MSYS2 issue. Until the runner is updated, we
should not block on it.
2019-11-05 10:44:05 +00:00
Emmanuele Bassi
c48fe6d7ec ci: Update the image to Fedora 31
Fedora 31 ships with a newer version of Pango.
2019-11-01 12:52:19 +00:00
Emmanuele Bassi
9b7bda6137 ci: Comment job, not just the stage
GitLab doesn't like it when we keep a job but disable the stage.
2019-07-03 17:57:27 +01:00
Emmanuele Bassi
1b4ed58331 ci: Disable deploy jobs
The version of gtk-doc in our CI image is not new enough to cope with
the fact that GTK lost container properties.
2019-07-03 17:54:32 +01:00
Matthias Clasen
4eaf860e86 meson: Rename documentation option to gtk_doc
This name is what most of the stack is using.
Lets follow along, even though it is (imo)
uglier.
2019-07-01 20:16:37 -04:00
Matthias Clasen
92994bac6c Save gsk output from ci 2019-06-03 02:09:46 +00:00
Christoph Reiter
24fcfa91b1 CI: update docker image to fedora 30
So we don't have to build glib as a subproject.
2019-05-10 15:48:33 +02:00
Emmanuele Bassi
3412d18dc2 ci: Use the v5 CI image
Otherwise the dependencies for the HTML report won't be available.
2019-04-13 14:18:14 +01:00
Emmanuele Bassi
3bc8ab91a2 ci: Add an HTML report generator
The JUnit cover report is useful, but only up to a point; for instance,
it's not used unless it's part of a merge request. This means you don't
get a report if you're pushing to a branch that does not have an MR open.

With a simple Python script and some minimal templating, we can generate
an HTML report from the "I Can't Believe it's not JSON™" log that Meson
produces, and keep it as a CI artifact.
2019-04-13 14:11:30 +01:00
Emmanuele Bassi
f58f0732c2 ci: Cache the reftest artifacts
Keeping the reftest output images as artifacts of a job allows us to
browse them and download them straight from GitLab.
2019-04-12 20:58:29 +01:00
Emmanuele Bassi
5c608fe070 ci: Install Monospace fonts
The reftests require them.
2019-04-12 20:09:10 +01:00
Emmanuele Bassi
f756c3b8a0 ci: Add manual jobs for Flatpak bundles
Bundles can be useful on branches and MRs as an opt-in.
2019-04-05 20:29:16 +01:00
Emmanuele Bassi
220c516691 ci: Call the report script on failure as well
GitLab's CI will bail out at the first failure, which means the
JSON-to-JUnit conversion script won't run unless it's part of the same
script that we run for building an testing.
2019-04-05 20:29:16 +01:00
Emmanuele Bassi
ba07279c95 ci: Add JUnit report for the test suite
We can convert the JSON output for `meson test` into a JUnix XML report,
which can be consumed by GitLab.
2019-04-05 20:29:16 +01:00
Matthias Clasen
e54e72b290 Add a flatpak manifest for org.gtk.IconBrowser4
And build it in ci.
2019-04-02 00:33:05 +00:00
Matthias Clasen
41bb875221 widget-factory: Rename to org.gtk.WidgetFactory4 2019-04-02 00:27:33 +00:00
Matthias Clasen
365400c13e gtk-demo: Rename to org.gtk.Demo4 2019-04-02 00:27:32 +00:00
Christoph Reiter
80c26ab904 CI: install meson 0.50 2019-03-28 22:47:18 +01:00
Christoph Reiter
a99bd2a422 ci: Update Docker image to Fedora 29 and meson to 0.49.0 2018-12-16 21:33:22 +01:00
Emmanuele Bassi
2feb5c93ca ci: Update the image for the Flatpak jobs
The gnome-nightly-oci registry was moved to gitlab.gnome.org, so we
need to change the image we use when building Flatpak bundles in our
CI pipeline.
2018-07-04 18:32:59 +01:00
Jordan Petridis
f4a0109377
gitlabci: Build and publish docs with gitlab pages. 2018-05-06 19:56:15 +03:00
Christoph Reiter
5b2153ad38 ci: move the docker image to gitlab.gnome.org 2018-04-17 19:09:34 +02:00
Christoph Reiter
f4857da08f ci: remove allow_failure from flatpak jobs again
It was added in 814b7d7bb7 due to too old wayland in the runtime.
5b160efc76 fixed it by bundling a newer wayland.
2018-04-16 11:54:47 +02:00
Emmanuele Bassi
84a30e9524 ci: Use a common section for Flatpak jobs
Avoid repeating blobs of YAML manually, and use the proper YAML
mechanism to copy-paste blobs instead.
2018-04-14 16:13:50 +01:00
Christoph Reiter
814b7d7bb7 ci: allow flatpak jobs to fail for now
We can easily revert this when things are fixed again.
2018-04-11 19:52:21 +02:00
Christoph Reiter
c542115906 gitlab-ci: Reenable ccache but disable it during the initial meson call
There where some problems (??) with ccache not detecting changes during meson
checks. Setting CCACHE_DISABLE during the meson execution makes ccache not use
the cache and pass things directly to the compiler.
2018-04-11 15:33:00 +02:00
Christoph Reiter
f26b2469af gitlab-ci: Add a 32bit mingw build 2018-04-10 19:24:15 +02:00
Emmanuele Bassi
1b62d28cbb ci: Move flatpak building to a script
The YAML is getting hard to modify, so let's use a simple script like we
do for the other CI jobs.
2018-03-27 12:47:05 +01:00
Emmanuele Bassi
ba65c1ae58 ci: Disable ccache
Forcibly remove any ccache use, even if it's installed.
2018-03-24 21:17:34 +00:00
Emmanuele Bassi
f353bbd0bc ci: Add two flatpak jobs
When building GTK through the CI infrastructure, it would help to have
some ways of testing it; for instance, if we want to verify that theme
changes are useful, or if we want to run the result without necessarily
build it locally.

This is where flatpak comes in handy. By having the CI build a flatpak
buundle, and storing it as an artifact, of the GTK demos, we can easily
point developers and designers to an installable binary that won't break
their system, nor will require development tools and environments to
run.
2018-03-20 23:14:32 +00:00
Emmanuele Bassi
0b4e0ce509 ci: Restore ccache, but do not cache it across jobs
The GitLab cache is kept across jobs, whether they succeeded or not:
this means that if a compiler check fails during the Meson
configuration, the small compiler program gets cached and restored the
next time the job is run, thus failing again.
2018-03-15 18:28:44 +00:00
Emmanuele Bassi
44469197d5 ci: Use a different Docker image
I've rebuilt the new Docker image we use for CI to include GStreamer in
the dependencies.

We really need to have the Docker registry hosted on gnome.org, to avoid
pointing people at Dockerhub.
2018-03-13 16:05:03 +00:00
Emmanuele Bassi
b52da5682e ci: Use the right path for the logs
The meson-logs directory is under the `_build` directory.
2018-03-13 16:00:55 +00:00
Emmanuele Bassi
78c130543c ci: Store the logs on build failure
We should save the logs directory when the CI pipeline fails, so that we
have a chance at debugging the failure.
2018-03-01 17:09:22 +07:00
Christoph Reiter
1395f78679 gitlab-ci: cache meson subprojects
This saves another 30sec here and reducing clone operations on the
gnome gitlab instance is probably a good idea as well.
2018-02-15 13:43:55 +01:00
Christoph Reiter
dfc1f76be7 Add gitlab-ci support using a prebuilt docker image 2018-02-14 22:47:44 +01:00
Emmanuele Bassi
da6b68d2b7 Disable CI
The CI runner is pretty slow to set up (takes about 6 minutes to get
through the system dependencies needed to build GTK), and does not work
with dependencies as subprojects.

Until we figure out how to make it work, and make it work a bit faster,
we should drop CI and rely on Continuous for a while longer.

We can revert this commit as soon as we find out how to make things
work.
2018-02-12 17:16:51 +00:00
Emmanuele Bassi
6aa66f59ce ci: Update the vulkan build option 2018-02-12 17:04:57 +00:00
Emmanuele Bassi
4040986545 Add GitLab CI (build only) 2018-02-12 16:57:17 +00:00