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
Benjamin Otte
e197752afe
win32: Fix meson names for defines
...
Those have been wrong forever, but nobody cares because they get to the
values we want anyway.
2019-05-21 07:46:42 +02:00
Benjamin Otte
fc9f4add92
win32: Enable --werror in CI
2019-05-21 07:33:57 +02: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
Timm Bäder
5010461066
ci: Don't disable the gsk suite
2019-05-05 07:18:39 +02:00
Benjamin Otte
6c6fd13034
CI: Build with --werror
...
This turns on --werror in the Fedora CI builds.
2019-04-17 18:57:37 +02:00
Emmanuele Bassi
97fb1c7757
Add licensing and copyright notice to report generators
...
So that other projects can use them.
2019-04-16 11:43:23 +01:00
Emmanuele Bassi
3f61360fa1
ci: Restructure the HTML report
...
We should show all the possible result sections:
- passed
- skipped
- expected failures
- failures
- timed out
Even if we consider the first three to be successes.
2019-04-14 21:07:15 +01:00
Emmanuele Bassi
7fb9f21ee0
ci: Tweak the HTML report style
...
The header needs to take into account the job id field.
2019-04-14 20:37:21 +01:00
Emmanuele Bassi
d733078766
ci: Style the test report
...
My web design skills are terrible, but it's better than nothing; I'm
sure this will lead to somebody filing a merge request to make the
test report look a lot better.
While we're at it, let's include the reftest images inside the report
itself, so we don't have to hunt them down.
2019-04-14 20:29:14 +01:00
Emmanuele Bassi
b98c7214ef
ci: Generate valid HTML for the report
...
Fix a typo in the closing <ul>, and add a missing closing <div>.
2019-04-13 14:28:53 +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
5c608fe070
ci: Install Monospace fonts
...
The reftests require them.
2019-04-12 20:09:10 +01:00
Benjamin Otte
ad34f731e9
CI: Turn on reftests
2019-04-12 19:34:29 +02:00
Emmanuele Bassi
eadd90c22e
ci: Use UTF-8 encoding for the test cover report
...
Since we're embedding text coming from the tests into the report, we
should specify an encoding for both the source JSON file and the target
XML file when opening them.
2019-04-12 13:56:17 +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
Benjamin Otte
c564a349e5
testsuite: Make reftests work again
...
Well, the testrunner works again, the tests don't all succeed.
So exclude them from CI.
2019-03-29 09:56:52 +01:00
Christoph Reiter
80c26ab904
CI: install meson 0.50
2019-03-28 22:47:18 +01:00
Christoph Reiter
c94867f8a1
CI: set a timeout multiplier for the tests
...
CI can be slower than your normal dev machine so give it a bit more time
2019-03-26 16:37:22 +01:00
Emmanuele Bassi
232c1750a7
ci: Update the test suite name
...
The project name is "gtk", not "gtk+".
2019-02-08 10:49:24 +00: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
Christoph Reiter
58cdd5139e
ci/docker: add lcov so we can create coverage reports
...
This was requested on IRC; the docker image in the registry is updated already.
2018-09-18 09:55:50 +02:00
Christoph Reiter
1b230324ba
ci: add hicolor-icon-theme to the docker image
...
The tests complain about it, not sure if this helps.
2018-07-20 15:04:26 +02:00
Christoph Reiter
e610c02a9e
ci/msys2: force disable vulkan
...
A recent dependency change in MSYS2 made it pull in vulkan, which made
meson think it's available but it somehow links against the system vulkan dll
instead.
Disable vulkan for now.
2018-05-26 14:23:58 +02:00
Jordan Petridis
50985d922a
gitlabci: Add gtk-doc to the container image.
2018-04-30 19:04:38 +03:00
Christoph Reiter
5b2153ad38
ci: move the docker image to gitlab.gnome.org
2018-04-17 19:09:34 +02:00
Christoph Reiter
3da9543b63
Revert "ci: Enable the a11y test suite"
...
This reverts commit 968a8e1cf0
.
things still fail in the gitlab runner
2018-04-15 05:48:59 +02:00
Emmanuele Bassi
968a8e1cf0
ci: Enable the a11y test suite
...
The accessibility test suite only performs internal validation.
2018-04-14 16:15:52 +01: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
Emmanuele Bassi
d448be007e
ci: Update container to Fedora 28
...
We're going to need updated dependencies that we cannot build as
subprojects, like wayland-protocols.
2018-04-11 13:58:47 +01:00
Christoph Reiter
f26b2469af
gitlab-ci: Add a 32bit mingw build
2018-04-10 19:24:15 +02:00
Emmanuele Bassi
f8e1924355
ci: Manually install Meson from PyPI
...
The Fedora base image we use for our CI doesn't always keep Meson up to
date with our requirements, so it's better if we just install Meson via
Python's pip.
2018-03-29 11:37:30 +01: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
eb382c1321
ci: Remove --werror
...
Turns out that GCC errors out when building the GLib test suite, as it
now checks for overflows in allocator functions, and we're testing for
those.
This would not be an issue for GTK, but since we're building GLib as a
subproject, we get failures for those as well.
Until we can find out how to disable errors for subprojects, or fix the
GLib test suite not to trip up warnings in GCC, we're going to live
without compiler warnings treated as errors for a while.
2018-03-25 00:31:36 +00:00
Emmanuele Bassi
cfeab26de0
ci: Use the appropriate argument for errors
...
The option to enable fatal warnings in Meson is `--werror`.
2018-03-25 00:00:02 +00:00
Benjamin Otte
b83cd9e818
ci: build with -Werror
2018-03-24 22:27:28 +01:00
Christoph Reiter
feb7bf2fbe
gitlab-ci: enable gtk+:gdk tests
...
xvfb doesn't like C.utf8 and returns XLocaleNotSupported.
While (afaik) C.utf8 and C.UTF.8 should be the same thing, and the former
is returned by locale -a on Fedora, switch to C.UTF-8 to make xvfb happy.
This makes gtk+:gdk tests pass.
2018-03-20 17:31:38 +01: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
Christoph Reiter
5838ac3d1d
run-docker.sh: Disable SELinux for the container and update the image tag
...
On Fedora and similar SELinux by default prevents containers accessing
mounted host directories. This script is just used for testing,
so disable it.
2018-03-13 21:13:31 +01:00
Emmanuele Bassi
b939af0090
ci: Add explicit dependency on "which"
...
The xvfb-run script depends on it, but it seems Fedora packages ended up
forgetting about it.
2018-03-13 17:56:44 +00:00
Emmanuele Bassi
4e2790ea74
ci: Remove ccache
...
There are issues with the caching; CI will randomly fail to create new
files used when testing features.
2018-03-13 17:03:27 +00:00
Emmanuele Bassi
9a5947758c
ci: Add GLib build dependencies
...
Since we may end up building GLib as a subproject, we're going to need
all the appropriate GLib build dependencies as well as the GTK ones.
2018-03-13 16:28:42 +00:00
Emmanuele Bassi
fe1586ca3d
ci: Add gstreamer to the Docker image
...
We're going to need it for the media interface.
2018-03-13 16:00:55 +00:00
Emmanuele Bassi
4b33cc5f89
ci: Update the configuration options
...
The options were renamed in commit 7b32900c55
.
2018-03-01 17:08:27 +07:00
Christoph Reiter
65c3f532cf
gitlab-ci: run parts of the test suite
...
This runs the tests in testsuite/{css,gtk,tools}
All others suites have failing tests and need more work.
2018-02-19 19:43:42 +01:00
Christoph Reiter
dfc1f76be7
Add gitlab-ci support using a prebuilt docker image
2018-02-14 22:47:44 +01:00