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
399fb76652
ci: Add pygobject to the images
...
This will let us add introspection tests in the future.
2021-05-05 16:31:03 -04: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
3668541eaa
docs: Add a side bar to the docs.gtk.org landing page
...
Make it look like the API references hosted on docs.gtk.org.
2021-03-23 14:58:03 +00:00
Emmanuele Bassi
a6727326e3
docs: Update the Cairo reference link
2021-03-23 14:49:20 +00:00
Emmanuele Bassi
2bc7abceae
docs: Drop the external class for links to docs.gtk.org
2021-03-23 13:13:53 +00:00
Emmanuele Bassi
a9a5622214
docs: Link Pango and GdkPixbuf on docs.gtk.org
2021-03-23 13:13:53 +00:00
Emmanuele Bassi
216a262651
docs: Put core deps below UI links
...
We assume people will be more interested in GTK if they get to
docs.gtk.org.
2021-03-20 12:18:42 +00:00
Emmanuele Bassi
0178cdbdf2
docs: Fix typo in the docs landing page
2021-03-20 12:18:26 +00:00
Emmanuele Bassi
f25beff7a6
docs: Restructure the list of UI libraries
...
Put GTK at the top.
2021-03-19 17:23:46 +00:00
Emmanuele Bassi
130ed3d5e5
docs: Fix typo in the docs landing page
2021-03-19 17:23:29 +00:00
Emmanuele Bassi
aaffd902fd
Fix the landing page structure
2021-03-19 14:36:34 +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
3760051169
ci: Update the fedora-docs Docker image
...
Use the latest base image.
2021-03-11 16:37:29 +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
386256a424
Rename base version argument in run-docker.sh
...
The `--base-version` argument trips up everyone. Might as well rename it
to `--version`.
2021-03-11 16:37:29 +00:00
Matthias Clasen
0a3fa40923
ci: Update the Fedora image to F33
2021-02-11 22:02:39 -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
0ffe67ffed
ci: Add libglvnd-devel to images
...
gstreamers gl support included headers from this
package without depending on it. Work around this
packaging error by explicitly adding the needed
dependencies.
2021-01-29 11:07:11 -05:00
Matthias Clasen
a332f2402a
ci: Don't print lsan suppressions
...
Printing these out breaks TAP output, and we really
aren't interested in them.
2021-01-22 13:01:09 -05:00
Matthias Clasen
0d790505aa
Force malloc of g_slices in asan build
...
Otherwise leaks could be missed.
2021-01-22 00:13:13 -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
Matthias Clasen
cbe3de9ce7
Merge branch 'master' into 'matthiasc/for-master'
...
# Conflicts:
# .gitlab-ci/test-msys2.sh
2020-10-01 13:56:37 +00:00
Christoph Reiter
9601863569
CI: Enable introspection again for the Windows build
...
The underlying bug was fixed in glib and backported in MSYS2:
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1665
2020-10-01 15:16:18 +02: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
dfd16e3982
ci: Use a newer meson in images
...
We need 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
Xavier Claessens
0e5dac8c25
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 09:50:24 -04:00
Matthias Clasen
55bd6d08d4
ci: Add libcloudproviders to the image
...
Add libcloudproviders to fedora-base:v23 and fedora:v23.
This is so we can enable the cloud-providers feature in
our ci builds.
2020-09-27 11:41:04 -04:00
Matthias Clasen
6b9622f0da
Try one more time to fix win32 ci
2020-09-19 08:13:35 -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
Christoph Reiter
e77d82eaac
CI: move ccache setup before building anything
...
otherwise glib/pango end up in the wrong cache dir
2020-08-05 21:58:46 +02:00
Christoph Reiter
774d431525
CI: msys2: build glib/pango master manually before gtk
...
The win toolchain has problems linking meson subprojects to libgtk.
To work around that build glib/pango from git and install them first
as long as the installed version is too old at least.
Fixes #3002
2020-08-05 21:35:38 +02:00
Matthias Clasen
a06339fb48
ci: Pass -norest to Xvfb
...
This may help with the sporadic "No display" failures
we are seeing when running tests under X11 in ci.
2020-08-04 11:59:32 -04:00
Matthias Clasen
1c49371edf
ci: Don't use --werror for the win32 build
...
This leads to warnings from the glib win32 build
failing our ci. Only use werror for gtk itself.
2020-08-02 19:59:25 -04:00
Matthias Clasen
501b2b43ef
ci: Enable sudo in the image
...
This is needed so we can install what we built.
2020-08-01 22:12:08 -04:00
Matthias Clasen
aea253bc60
ci: Add gnome-desktop-testing to images
2020-08-01 22:12:08 -04:00
Christian Hergert
459af3acab
build: bump to sysprof 4 ABI
...
Sysprof has moved to a new ABI which removes GLib from the capture library
so that GLib itself can link against sysprof-capture.
This bumps the library ABI so we can keep things coordinated between all
the new tracing layers in the stack.
2020-07-28 11:22:33 -07:00
Emmanuele Bassi
cbc6244bc5
ci: Re-enable the accessibility test suite
...
Now that we have something that is both reliable and local.
2020-07-26 21:27:03 +01:00
Emmanuele Bassi
7c8cd23c5f
Merge branch 'ebassi/ci-timeout' into 'master'
...
Ebassi/ci timeout
See merge request GNOME/gtk!2223
2020-07-10 17:01:56 +00:00
Matthias Clasen
b3dc517565
ci: Use lsan again
...
Turning it off didn't fix the crashes; and we allow
the asan build to fail anyway now. And the leak reports
are useful whenever it doesn't crash.
2020-07-10 11:11:42 -04:00
Emmanuele Bassi
d3443d6f2a
ci: Use the timeout multiplier from the environment
...
When running our test suite on our CI infrastructure.
2020-07-10 16:08:14 +01:00
Matthias Clasen
f191b64bbc
Disable lsan for now
...
The leak sanitizer causes on average 3-4 tests
to segfault during a testsuite run. Disable it
for now to see if we can get a successful
testsuite run with asan alone.
2020-07-10 07:32:48 -04: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
fa90e42a38
ci: Set LSAN_OPTIONS for tests
...
When running the testsuite with the address sanitizer,
many of our dependencies cause it to report cause it
to report memory leaks, causing tests to fail.
Therefore, point the leak sanitizer at a list of
suppressions. The list is kept in the lsan.supp
file in git.
2020-07-09 15:07:50 -04:00
Matthias Clasen
de8258171a
ci: Mention image layering in the README
2020-07-09 15:07:50 -04:00
Matthias Clasen
2ed6224778
ci: Add libasan and libubsan to the image
...
Add libasan and libubsan to fedora-base:v20,
and build fedora:20 on top of it.
This is so we can build and run the tests with
the address and undefined behavior sanitizers.
2020-07-09 15:07:50 -04:00
Matthias Clasen
8e73d007f5
testsuite: Fix an asan error
...
asan complains that some of the memorytexture tests
read past limits. Avoid that.
2020-07-08 15:09:08 -04:00
Emmanuele Bassi
6bdca276a2
ci: Create new origin for forks
...
We don't need to create a new remote and fetch its master if we're
checking a merge request done on the upstream repository.
2020-06-29 13:14:40 +01:00
Christoph Reiter
011f5afe4e
CI: install a newer pango for MSYS2
...
Uses a build from git master from today
2020-05-30 15:47:02 +02:00
Alexander Larsson
fee3aaae94
tests: Disable idle locking in headless weston
...
In my local testing i was burned by the default 300sec value here.
I'm not sure if we actually hit this in the CI, but lets not
take any chances.
2020-05-28 15:15:04 +02:00
Matthias Clasen
f60149cd9e
ci: Add a fedora-docs image
...
Split the fedora image into fedora-base (containing just
the packages) and fedora (adding the user setup), and add
a fedora-docs image that is adding pandoc on top of the
fedora-base image.
2020-05-25 16:11:18 -04:00
Emmanuele Bassi
7ff9a3f3a0
ci: Allow using "latest" as the image version
...
Just like the documentation says.
2020-05-17 00:32:22 +01:00
Matthias Clasen
13f8583934
ci: Don't run opengl renderer tests on Broadway
...
The test setup mechanism in meson is not flexible
enough to let us run different suites depending
on setup, so just pass in explicitly which suites
we want to skip, depending on the backend.
2020-05-16 10:14:10 -04:00
Matthias Clasen
01bd6cfd17
ci: Add the backend to the reports
...
We want the test names in the junit xml to be
unique across all the tests in a job, so we need
to include the backend in the test name.
And we also want to see the used backend in
the html report.
2020-05-15 19:49:18 -04:00
Matthias Clasen
30ef48143f
ci: Ignore Broadway failures
...
These need some more work, so ignore them for now,
to get the initial multi-backend testsuite into
production.
2020-05-15 15:24:04 -04: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
Matthias Clasen
6719616c36
ci: Fix a typo in the run-docker.sh script
2020-05-15 14:11:53 -04:00
Matthias Clasen
18c7284817
ci: Add weston and weston-libs to the fedora image
...
We want to run tests under Wayland, using weston
as the compositor. The weston-libs package contains
the headless backend for weston.
2020-05-15 14:11:53 -04:00
Christoph Reiter
90b3105d99
CI: install brotli in msys2
...
Not a direct dependency, but the freetype package is missing it atm
2020-05-10 08:37:01 +02:00
Christoph Reiter
1e0f860a75
CI: disable introspection with mingw to avoid flaky builds
...
g-i has started to fail and it's not clear why, so disable it for
now to keep the build green.
See https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/340
2020-05-06 20:34:39 +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
95d807ab61
ci: Count 'ERROR' codes as failures
...
Otherwise they'll be dropped from our reports.
2020-04-12 14:28:59 +01: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
7bc50b7466
ci: Update the docker wrapper script
...
Do a better job at detecting whether we have Docker installed.
2020-02-25 19:05:07 +00:00
Emmanuele Bassi
382340c158
ci: Add clang-analyzer to the fedora build image
2020-02-25 17:18:23 +00:00
Emmanuele Bassi
8a6d5a77bb
ci: Fix style check script
...
Propagate the exit status from clang-format-diff.py to avoid it being
overwritten by the `echo` at the end of the script.
2020-02-25 17:13:39 +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
de1543d4fa
ci: Use per-suite anchors
...
Anchors are global, so they need to be namespaced.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
5ed3f8d98b
ci: Rearrange the results in the HTML report
...
Move the failures up top, so they stand out.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
affc7b58fa
ci: Fix the HTML anchor in the report
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
2b1e273c53
ci: Use result instead of exit code in the JUnit report
...
We have a result code coming from Meson which is more accurate than just
looking at the exit code of the unit.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
1a4d1f8994
ci: Unexpected passes are failures
...
List them as such in our reports.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
adc7bf9f25
ci: Put the branch name in the HTML header
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
f4a8edf441
ci: Move HTML report meta from header to article
...
Makes the bar smaller.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
4247bf0fb6
ci: Update flatpak job
...
Use `flatpak build` and point at the nightly repo when generating the
bundle.
2020-02-12 18:24:54 +00:00
Emmanuele Bassi
f51ceb142b
ci: Fix linking of the CI assets in the report
...
The report is relative to the build directory, and so are the generated
assets.
2020-02-12 18:12:53 +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
c4dfacc404
ci: Add missing newline escape
...
Otherwise we're going to run the accessibility test suite, and it's
going to fail.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
a7d295254f
ci: Add static packages for GLib and PCRE
...
Otherwise Meson will warn about missing static dependencies for
sysprof-capture-3.
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
153e8a0c92
ci: Use release builds for Flatpak bundles
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
Emmanuele Bassi
98e6e0cf77
ci: Update the version of Meson in the CI image
...
We need at least 0.52.1 to be able to use gtk-doc as a sub-project.
2020-01-29 09:39:21 +01:00
Matthias Clasen
704a659438
ci: Build with profiler support
...
This will let us run sysprof-based performance tests.
2020-01-21 18:20:05 -05:00
Matthias Clasen
d32b0d3118
ci: Add sysprof-devel to the image
...
We need it to build with profiler support.
2020-01-21 18:17:50 -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
79f42cec8e
ci: Add libXtst-devel to the Docker image
...
New requirement from at-spi2-core.
Fixes : #2313
2019-12-16 19:00:02 +00:00
Niklas Hambüchen
3936412332
Try building static libs on CI
2019-11-15 18:42:36 +01:00
Emmanuele Bassi
2d309725c9
ci: Add internal links to the HTML report
...
Makes it easier to link to various sections, and to specific failures.
2019-11-01 15:44:12 +00:00
Emmanuele Bassi
a5c00685c5
ci: Add diffutils to the CI image
...
Some transitive dependency got dropped, and we lost diff.
2019-11-01 15:22:02 +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