Commit graph

44 commits

Author SHA1 Message Date
Peter Hutterer
b74f03301b gitlab CI: build an rpm package to verify the installed file list
This is not a package intended for, it's a job to fail when we accidentally
change the file list. An rpmbuild job like this was what detected
f15da0f108.

The spec file resembles the Fedora one but has BuildRequires removed (we rely
on the container for that).

The same task could be achieved by keeping a file list and comparing the
installed tree but since I had the rpm spec file already, let's use that for
now.

This requires meson 0.55 which hit F32 yesterday.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-22 10:47:22 +10:00
Peter Hutterer
813a458352 gitlab CI: remove a bunch of trailing spaces
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-22 10:47:22 +10:00
Peter Hutterer
04e612488a gitlab CI: hook up coverity
This requires the COVERITY_SCAN_TOKEN as listed on the project settings page
in coverity itself. The intention here is to run this as a scheduled job, with
the pipeline schedule itself controlling the branch name etc. This way we can
keep the gitlab CI simple enough and just check for COVERITY_SCAN_TOKEN
itself.

This job shouldn't ever fail unless coverity is down (we'll fix that then),
the results of the coverity run are sent to the user that owns the the
scheduled pipeline, i.e. me.

Because coverity does not currently work on F32 (invalid GNU version number:
101), we force this to run on F31.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-03 06:57:54 +00:00
Peter Hutterer
1ce05ca4a5 gitlab CI: drop custom scheduled handling, set FDO_FORCE_REBUILD instead
This is a leftover from pre-ci-templates days. Now that ci-templates handles
FDO_FORCE_REBUILD remove the custom handling and for the weekly rebuild just
set that variable to 1 in the scheduled pipeline itself.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-03 08:54:33 +10:00
Peter Hutterer
ad54c0c8b3 gitlab CI: move the MR check to the deploy stage
This gives the developer enough time to file an MR after pushing a branch.
Having this run in the first stage means we get false positives because no MR
has been filed yet when the job is run.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-06-30 10:43:44 +10:00
Peter Hutterer
600a0334a7 gitlab CI: check merge requests for the allow collaboration checkbox
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-06-15 20:50:37 +10:00
Peter Hutterer
425950d3bc gitlab CI: use ci-fairy for commit message checks
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-06-15 20:14:39 +10:00
Peter Hutterer
75ca6dcfa3 gitlab CI: alpine needs pip explicitly installed now
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-06-03 21:22:56 +10:00
Peter Hutterer
58cf854124 gitlab CI: Ubuntu 19.04 is EOL, drop it
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-04-18 05:17:52 +00:00
Peter Hutterer
e48a316c02 gitlab ci: fix a templating whitespace issue
For some reason I'm too tired to investigate, the whitespace in the CI is
different than the locally generated one. Alpine must've updated something, I
guess. Quickfix it by adjusting the whitespace so it's correct again.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-04-16 15:45:05 +10:00
Peter Hutterer
5063f30492 gitlab CI: generate the jobs for the custom builds from the config.yaml
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-23 07:05:28 +00:00
Peter Hutterer
dedee77d62 gitlab CI: autogenerate the qemu tests for the last version of a distribution
Where want_qemu is set for a distribution, we generate the qemu tests for that
distribution for its last version listed.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-23 07:05:28 +00:00
Peter Hutterer
5991023a7c gitlab CI: invert the ci-templates check
This makes the config file simpler, use a variable that is default false but
true where we need it.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-23 07:05:28 +00:00
Peter Hutterer
31479b346d gitlab CI: switch the 'needs' tags to a dashed list
We don't use the [...] style list elsewhere, so let's not do this here either.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-23 07:05:28 +00:00
Peter Hutterer
d946c062d8 gitlab CI: update the various build tests to F32
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-23 07:05:28 +00:00
Benjamin Tissoires
09509c9de6 ci: move the ci template to the expected file for ci-fairy
this makes the command to type much easier

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2020-03-18 12:21:52 +01:00
Benjamin Tissoires
8674bfc9d1 ci: use ci-fairy to generate the template, not a custom script
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2020-03-18 12:16:12 +01:00
Benjamin Tissoires
e44d725525 ci: use the ci fairy to delete unwanted tags
here is some magic dust from https://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/49/diffs?commit_id=325839e6401d322ed632bf30e2e0255785bb31f6#7bc093350962b0f3fe1e612f06beaba806ee061f_219_217

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2020-03-18 10:28:06 +01:00
Benjamin Tissoires
4df2ac731f ci: use latest templates, and API
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2020-03-18 09:51:31 +01:00
Peter Hutterer
d0eb8d58a3 tools: switch tool option parsing test to use pytest
pytest is more powerful than unittest, so let's switch to that instead. And in
the process fix a few tests that for some reason succeeded even though they
shouldn't have (e.g. the autorestart test).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-17 10:08:48 +10:00
Peter Hutterer
f657d83428 gitlab CI: drop the distribution "flavor" in favor of using the name
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-26 13:56:00 +10:00
Peter Hutterer
ebfb1e770e gitlab CI: split the task to run on a VM out from the host system
No functional changes here, it just makes the actual task more generic

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-26 13:56:00 +10:00
Peter Hutterer
dd8dcaaa94 gitlab CI: drop the distro name from the VM jobs
This changes rarely and it doesn't carry a lot of information anyway, at least
compared to the jobs that are specifically designed to build on various
distributions.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-26 13:56:00 +10:00
Peter Hutterer
5eb53418b3 gitlab CI: update to latest ci-templates
Removes the special distro "flavor" handling for arch and it gives us nicer
warnings for VM failures.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-24 19:46:05 +10:00
Peter Hutterer
712eb10aad gitlab CI: run the kvm test suite without libwacom
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-24 06:45:01 +00:00
Peter Hutterer
200fd44439 gitlab CI: pass the MESON_ARGS through to the VM as well
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-24 06:45:01 +00:00
Peter Hutterer
8e2a107d07 gitlab CI: mark the template file as yaml file for vim
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-24 06:45:01 +00:00
Peter Hutterer
dafb68f306 gitlab CI: don't run meson test on the scan-build job
Unfortunate side-effect of this: scan-build would store the logs in the build
dir, only for them to be immediately wiped by meson test. And that never
generated the scan-build warnings.

So this job was complaining about (minor) issues for a while, they just never
made it to the GUI as CI failures.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-24 01:53:21 +00:00
Peter Hutterer
6a604d7c2f gitlab CI: don't push to wayland web on scheduled jobs
We have a set of scheduled jobs to rebuild images and clean out old
containers, but since they're largely unsupervised (i.e. not in response to a
MR) we don't want to update the official documentation - just in case
something goes wrong.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-24 00:56:38 +00:00
Peter Hutterer
b2cda3f4b7 gitlab CI: rename the custom build jobs
The distro we're running on is a side-effect, it's more important to see the
bit that describes what the job actually does.

And while we're there, shuffle the hierarchy a bit for less duplication.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-20 13:39:32 +10:00
Peter Hutterer
50d916467b gitlab CI: use a separate variable for the template list
Just because I feel more comfortable with having this code in python than in
the templates.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-20 13:39:32 +10:00
Peter Hutterer
3a7412a4d7 gitlab CI: don't hard-code the arch/alpine versions
We only have one each and they're not really versions anyway but now that it
is all generated through templates, let's be consistent with the rest of the
CI script.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-20 13:39:32 +10:00
Peter Hutterer
02f5da42b2 gitlab CI: generate the various default-builds through templating
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-20 13:39:32 +10:00
Peter Hutterer
90888ab9f2 gitlab CI: generate the VM tests through the templates as well
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-20 13:38:46 +10:00
Peter Hutterer
f5506d1f22 gitlab CI: generate the CI script from a template
All the distro-specific stuff is the same template anyway, so let's generate
this (like we already do in libevdev and the ci-templates).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-20 13:38:39 +10:00
Peter Hutterer
6c2125d1df gitlab CI: add an explanatory comment why we're hardcoding master
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-12-05 10:40:40 +10:00
Peter Hutterer
9d996a0420 gitlab CI: add a local emulation mode to the gitlab CI script
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-12-05 10:40:40 +10:00
Peter Hutterer
902806c750 gitlab CI: make the commit check errors more verbose and useful
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-12-05 10:40:40 +10:00
Peter Hutterer
7f2749a03d gitlab CI: don't try adding the upstream remote if it exists already
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-12-05 10:40:40 +10:00
Peter Hutterer
b8bbf424de gitlab CI: run the meson script for the VMs as well
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-11-28 14:36:00 +01:00
Peter Hutterer
142399f8a3 gitlab CI: move the build instructions into a bash file
Extending/debugging scripts in the gitlab CI directly is a pain, the
turnaround cycle is terrible. Let's move this into a shellscript that we can
just call directly.

Bonus side-effect: if we wanted to extend the script: set somewhere, this is
now much easier to override.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-11-28 14:35:55 +01:00
Peter Hutterer
3f051ca9d8 gitlab CI: add meson to junit script
This script was written by Emmanuele Bassi, copied from
https://gist.github.com/ebassi/e5296ec77ae9e0d3a33fd483b5613b09/

It converts meson test results into a junit file which we can then use to
display in the merge request GUI.

Note that as litest writes out junit files as well, some tests are reported
twice. Specifically: where litest fails the failure will be reported once
through litest itself and once by meson test. Oh well.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-11-28 11:52:54 +01:00
Peter Hutterer
773b322e8b gitlab CI: apply some basic validity checks on the commit messages
Let's stop merge requests from users that don't set their git author name and
email address. Aside from it looking stange in the history it'll also make it
virtually impossible to ever find that user again should something important
arise in the future - especially if we switch off gitlab.

The rest is basic style, short subject lines, Signed-off-by lines and correct
formatting.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
[bentiss: use /usr/bin/env python3 as requested by the CI]
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2019-11-28 11:43:26 +01:00
Benjamin Tissoires
67cdd3d2d4 CI: use templates for Ubuntu
For ubuntu, we need to enable some special packages, so use a script.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2019-04-01 04:11:20 +00:00