Commit graph

30 commits

Author SHA1 Message Date
Peter Hutterer
edb5b92f89 gitlab CI: keep the results of the check-commit job as artifact
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>
2020-03-02 14:11:43 +10:00
Peter Hutterer
13775b56e5 Use editorconfig instead of a sprinkling of :vim: instructions
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-27 05:58:05 +00:00
Peter Hutterer
cda3dc664a gitlab CI: drop the distribution "flavor" in favor of just the name
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>
2020-02-26 13:13:19 +10:00
Peter Hutterer
c12af0864c gitlab CI: move the container-clean git strategy to the parent section
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-26 13:13:16 +10:00
Peter Hutterer
2a51c15683 gitlab CI: don't allow failures on the kvm jobs
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>
2020-02-26 11:37:46 +10:00
Peter Hutterer
805421582f gitlab CI: update to the latest ci-templates again
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>
2020-02-25 17:03:21 +10:00
Peter Hutterer
134b889724 gitlab CI: prefill the junit conversion script from the gitlab environment
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-24 15:33:00 +10:00
Peter Hutterer
82538647c1 gitlab CI: re-use the meson-build.sh script for normal meson jobs
Let's invoke the same meson steps for every build task.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-24 14:23:21 +10:00
Peter Hutterer
15e0b024df gitlab CI: hook up junit test reports to the meson results
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>
2020-02-24 11:52:14 +10:00
Peter Hutterer
e03cdd1d3f gitlab CI: update to latest ci-templates
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>
2020-02-24 08:44:48 +10:00
Peter Hutterer
0e665a2780 gitlab CI: generate the template list from the config data
Only change in the actual gitlab CI file is that the sorting is now
alphabetical.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-24 08:44:48 +10:00
Peter Hutterer
db602d0d06 gitlab CI: set the vim filetype for the template file
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-24 08:44:48 +10:00
Peter Hutterer
f26679c6eb gitlab CI: move the configuration bits into a YAML file
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>
2020-02-21 09:23:02 +10:00
Peter Hutterer
12211d452a gitlab CI: extend the generation script to be somewhat more generic
Mostly busywork, it moves the hardcoded paths into a variables, etc.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-21 09:23:02 +10:00
Peter Hutterer
fa0a3fc445 gitlab CI: make the "this is generated" warning more obvious
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-21 09:23:02 +10:00
Peter Hutterer
45c223d394 gitlab CI: add a scan-build target
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>
2020-02-20 17:17:24 +10:00
Peter Hutterer
5a9368f4da gitlab CI: fix a variable substitution
Single quotes means we're not expanding the variable here

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-20 17:06:14 +10:00
Peter Hutterer
283dfc07f9 gitlab CI: correct some meson builddirs
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-20 17:06:14 +10:00
Peter Hutterer
ada38025a2 gitlab CI: hook up qemu
This is mostly copied from libinput's qemu setup with a few minor renames.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-19 08:49:02 +10:00
Peter Hutterer
f795694b2e gitlab CI: replace the hardcoded meson builddir with a variable
Bonus: we test for spaces in the directory name now too

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-19 08:34:55 +10:00
Peter Hutterer
88701829e7 gitlab CI: add a job to make sure the soname is correct for both build systems
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-18 19:11:40 +10:00
Peter Hutterer
e67826060b gitlab CI: rename the custom build jobs
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>
2020-02-18 19:01:50 +10:00
Peter Hutterer
9fe2dfc8ef gitlab CI: run the test suite through valgrind
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-17 19:46:23 +10:00
Peter Hutterer
596ebd7acc gitlab CI: add targets to build from each others tarballs
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-17 17:42:32 +10:00
Peter Hutterer
2f9c40b5fb gitlab CI: add more targets for custom meson builds
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>
2020-02-17 17:42:32 +10:00
Peter Hutterer
f2d4ef6cc4 gitlab CI: rename few targets for autotools
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-17 17:42:32 +10:00
Peter Hutterer
caf63dca41 gitlab CI: hook up the meson build
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>
2020-02-17 17:42:32 +10:00
Peter Hutterer
d209b66930 gitlab CI: rename the default build jobs to autotools
Prep the path for adding meson

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-17 14:49:25 +10:00
Peter Hutterer
67b6e447e7 Auto-generate the gitlab CI script
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>
2020-02-17 14:23:18 +10:00
Peter Hutterer
90ff5a0cae gitlab CI: add a check-commit stage
Taken from libinput, checks for signed-off-by and other things.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-14 08:30:29 +10:00