Due to how pytest is used, we don't get the actual errors printed in the
commandline log if this job fails. This doesn't matter in merge requests where
the results are displayed nicely but where there's no merge request we can't
get this info out at all. So let's simply store the xml file for an easy
check.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This is a leftover from ci-templates where the name of a distribution didn't
necessarily match the image (arch vs archlinux) and is no longer needed.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This is a leftover from libinput where we have to allow failures because of
frequent issues with timing. We don't have these issues here so a failed job
in the VM indicates a bug.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Unclear what happend but I suspect a rebase went wrong so
e03cdd1d3f didn't actually update to the new
ci-templates.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
The KVM tests use this for now, not the container builds where we run meson
directly.
The python script to convert meson test logs to junit results expects suite
names, so let's add all tests to suites so we don't need to carry local
modifications.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This gives us a warning where qemu failed to start and it gets rid of the
different "flavor" that only archlinux had different to the distribution name.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Only one change: the meson boolean to decide whether to build with meson is
now inside the build: block.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
To avoid dnf updates and outdated packages (and the resulting delay from a dnf
update) we just install the clang-analyzer package into the default Fedora
image. It won't mess with the build expectations too much.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
We don't really care that they're F31, that's an implementation detail. So
let's rename them so we can easily pick which job is which on the pipeline
overview.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Notable: the meson builds don't have a "nm is missing" target because meson
needs it for itself.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Centos doesn't run meson because it's too hard to install the package with dnf
and I can't be bothered going through pip.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
There is so much duplication between the various jobs that it's hard to keep
track of it manually. Let's employ a python script to generate those bits,
reducing the actual gitlab-ci.yml to the hand-written parts only.
The new script takes the .gitlab-ci/gitlab-ci.yml.in and simply appends the
generated parts to it. Most of it is straightforward, only centos needs some
custom parts because of missing doxygen.
The diff is a bit hard to review, thanks to the python script we now group
based on distribution, not based on name (i.e. all fedoras in one group
instead of all container-preps in one group).
And since we're generating anyway, some of the in-between stages were removed
(e.g. $DISTRO-build@template).
A new CI job is added to run a diff against the .gitlab-ci.yml that's checked
in and the one generated by this script. If they differ, we fail.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>