Commit Graph

98 Commits

Author SHA1 Message Date
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