Commit graph

76 commits

Author SHA1 Message Date
Peter Hutterer
db0d4271ed gitlab CI: add new workflow rules
Required for pipelines to run after some infrastructure changes, see
https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/438

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-15 10:21:43 +10:00
Peter Hutterer
689d1eb01c gitlab CI: bump to latest fedoras
The F37 update was delayed by https://github.com/systemd/systemd/pull/25941 which
is now available in F37 as of v251.11

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-02-15 08:31:58 +10:00
Benjamin Tissoires
2eb0bb4be4 CI: bump b2c and kernel
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2023-02-08 11:31:02 +01:00
Peter Hutterer
54f4c054ea gitlab CI: sync the meson-build.sh script with libinput
Pulls in the three libinput commits up to 31ecda70087

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-10 08:56:52 +10:00
Peter Hutterer
b2e12fe926 gitlab CI: use b2c instead of qemu
This is copied from libinput's CI but as one large change rather than
cherry-picking the process on how to get here. meson-build.sh is synched
with libinput's version - it is a more generic version anyway.

With this change we no longer require separate images for the qemu runs,
our default image is qemu-capable and can be run in qemu via
boot2container (b2c).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-05 10:32:01 +10:00
Peter Hutterer
50ac79078e gitlab CI: pass the --no-suite to meson builds
Only use the LIBEVDEV_SKIP_ROOT_TESTS env var in autotools where we need
it, in meson we can use meson to control which tests we (don't) want to
run.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-05 10:30:47 +10:00
Peter Hutterer
37f71a8493 gitlab CI: drop the ninja dist for every job
Unlike autotools distcheck which ensures we didn't forget to add
anything to the makefiles, ninja dist just zips up the git repo.

It does run the tests though but without suite selection which is a
problem for us here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-05 10:26:39 +10:00
Peter Hutterer
6be54f75c8 gitlab CI: skip the right tests in the tarball jobs
Use the new needs-uinput suite specifier for the meson build job, and
use --no-tests for ninja dist in the autotools build job.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-05 10:26:39 +10:00
Peter Hutterer
427af9d248 meson.build: add the tests that need uinput into a needs-uinput suite
This way we can skip it all by meson test --no-suite=needs-uinput

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-05 10:25:02 +10:00
Peter Hutterer
6d0d778e59 gitlab CI: replace the meson-build.sh with the libinput one
The libinput one is more generic and expressive, taking arguments and
whatnot.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-05 09:25:46 +10:00
Peter Hutterer
ac3d44ee7a gitlab CI: drop MESON_SKIP_TEST variables
In the no-check:meson job, the ninja arg was "dist" so the test would be
run as part of that anyway (and skipped, since we didn't have check).

In the no-doxygen-check:meson job, the ninja arg was zero so the test
would be skipped but since we don't have check we might as well just
run it as empty test suite.

And the same applies to the scan-build job, running the test shouldn't
hurt here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-05 09:18:17 +10:00
Peter Hutterer
46ed9e53e4 gitlab CI: drop the custom meson to junit conversion script
And always collect test logs, makes it easier to debug when things fail
to go wrong

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-05 09:01:38 +10:00
Peter Hutterer
1489287bf1 gitlab CI: bump to newer Ubuntus
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-04 15:25:06 +10:00
Peter Hutterer
136efe0399 gitlab CI: bump to a newer version of the templates
Required by the debian sid containers, otherwise we fail because of a
missing /etc/apt/sources.list file.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-04 15:20:33 +10:00
Peter Hutterer
f45bc03d9f gitlab CI: do not retry the qemu runs
See libinput commit fb4f4131a112201c86c510179cfc939fcfa8aece by Benjamin
Tissoires

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-04 14:46:28 +10:00
Peter Hutterer
4f66455160 gitlab CI: change an explicit Fedora to {{distro}}
See libinput commit 0d602e12a4b66d5b5f27d2a9fd9899d43cf128fe by Benjamin
Tissoires

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-04 14:43:18 +10:00
Peter Hutterer
09fd1f4e66 gitlab CI: prettify the include of templates
Identical to libinput commit c8c825289f1b7575ee10b849c04f5caa60483a7e by
Benjamin Tissoires.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-01-04 14:41:33 +10:00
Peter Hutterer
7c43e86944 gitlab CI: update to current distribution versions, drop Centos
No big point building for Centos 7 anywmore, and Centos 8 is now Centos
Stream only which needs fixing in the CI templates first.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-02-02 00:29:35 +00:00
Peter Hutterer
a6970e1cec gitlab CI: update to latest ci-templates
We can ditch the custom localhost usages and instead use the vmctl and
ssh-config aliases.

Signed-off-by:	Peter Hutterer <peter.hutterer@who-t.net>
2021-07-26 10:23:39 +10:00
Peter Hutterer
bb1cd0dd57 gitlab CI: bump to Fedora 34 and Ubuntu 21.04
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-05-19 10:37:21 +10:00
Peter Hutterer
a53c6d1154 gitlab CI: make the tarball distro selection automatic
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-05-19 10:36:58 +10:00
Peter Hutterer
4e5babd7a1 gitlab CI: make the qemu selection automatic
Generate the snippet for whichever is the last version in the list for the
want_qemu tag.

And move the want_qemu tag up so it's more obvious in the config file.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-05-19 10:36:53 +10:00
Peter Hutterer
510bde8f47 gitlab CI: use Fedora 33 and Ubuntu 20.10
This requires latest CI templates for the mkosi changes. Since the start_vm.sh
script is now gone, switch to using vmctl instead.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-01-04 11:49:42 +10:00
Peter Hutterer
7f53bcfab3 gitlab CI: make the custom build reference automated
We still require Fedora for the various jobs with custom autotools/meson
configurations. But we might as well make it dependent on the config file
entries only than hardcoding it.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-01-04 10:59:25 +10:00
Peter Hutterer
cb5d56ab80 gitlab ci: run the qemu jobs on F32
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-11 11:04:27 +10:00
Peter Hutterer
ed71864c4c gitlab CI: update to use F32
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-11 10:38:54 +10:00
Peter Hutterer
4c1b9f3c70 gitlab CI: move MR check to a later 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:51:11 +10:00
Peter Hutterer
94a09a40bd gitlab CI: fix the repo name for excluding checks on master
Fixes 2698867311

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-06-16 16:16:11 +10:00
Peter Hutterer
2698867311 gitlab CI: use ci-fairy to check commits and merge requests
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-06-16 09:58:56 +10:00
Peter Hutterer
4c87209826 gitlab CI: move the pip dependencies to before_script
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-06-04 10:48:04 +10:00
Peter Hutterer
55e70c5fd2 gitlab CI: alpine needs pip explicitly installed now
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-06-04 10:47:35 +10:00
Peter Hutterer
c6a765199a gitlab-ci: update to ubuntu 20.04
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-05-01 16:52:51 +10:00
Peter Hutterer
f9302c18b7 gitlab CI: update docs for how to schedule the auth variable
Safer to have this defined in the scheduled job only rather than the project
itself.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-18 12:46:14 +10:00
Peter Hutterer
325839e640 gitlab CI: move to use ci-fairy
ci-templates now has a new tool ci-fairy that replaces our jinja generation
script with something (eventually) unified across project repositories. Let's
move the files to the expected locations .gitlab-ci/config.yml and
.gitlab-ci/ci.template.

ci-fairy also has a wrapper to delete images, let's start using that.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-18 12:43:48 +10:00
Peter Hutterer
9ffed2f2f4 gitlab CI: use the new templates with a single job only
No more ifnot-exists, it's all build now with a variable to control the forced
rebuild.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-17 21:54:17 +10:00
Peter Hutterer
a1fe50635e gitlab CI: rebuild images for the new templates
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-13 13:01:28 +10:00
Peter Hutterer
68cdac7420 gitlab CI: expand tag lists to 100 per page
Lets make sure we can delete more than 20 tags at a time.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-13 12:47:55 +10:00
Peter Hutterer
fc501b78ba gitlab CI: use the ifnot-exists templates from ci-templates
Let's not duplicate the functionality, use the upstream templates because
they'll actually see improvements over time.

Define two jobs, one that is the ifnot-exists job and one that is the normal
container-build job. The second one only runs on schedules.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-13 12:47:55 +10:00
Peter Hutterer
7d2b4b5ffe gitlab CI: remove obsolete variable expansion
gitlab doesn't support double-nested variables so we can assume that these
variables don't need further expansion

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-13 12:47:55 +10:00
Peter Hutterer
bd8225286a gitlab CI: Use the new fdo CI templates distribution images
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-13 12:46:54 +10:00
Peter Hutterer
1b1b446597 gitlab CI: make the container-clean dependent on container-prep
This is a test commit only to speed things up when testing the container-clean
phase. In the real instance, we don't want to remove our containers until the
test suite successfully completes on the new container.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-13 12:44:22 +10:00
Peter Seiderer
18ef5f76e0 gitlab CI: add static-build meson pipeline
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
2020-03-11 07:46:59 +01:00
Peter Hutterer
da5bfe22d2 gitlab ci: add a helper script for container deletion
Rather than raw curl requests to the API, use a python script using the gitlab
python package to access everything. This makes things a bit more readable.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-09 08:52:02 +10:00
Peter Hutterer
6441b639aa gitlab CI: update to the distribution-independent CI-templates
These templates get rid of the various distribution-specific naming and
instead default to the namespaced FDO_DISTRIBUTION_<foo> for whatever value we
need. So FEDORA_RPMS, DEBIAN_DEBS etc. becomes FDO_DISTRIBUTION_PACKAGES for
example.

By necessity this is one large commit. gitlab does not allow nested variable
expansion, so the previous approach of global variables didn't work.
Specifically, we'd end up with a template in this form:

variables:
  FEDORA_TAG: 12345

.base_template:
  variables:
     DISTRO_IMAGE: $DISTRO_TAG

.fedora:
  variables:
     $DISTRO_TAG: $FEDORA_TAG

But the actual DISTRO_IMAGE variable would be the literal string $FEDORA_TAG,
not the value of that variable. So all of it needed to be reworked.

Specifically:
- the packages to install moved to the config yaml file
- the distribution tag is now in the config yaml file
- all distributions now share the same tag (because lazyness)
- there are .fedora:30, .debian:stable, etc. templates now with the variables
  defined as needed, jobs will extends those templates as they need those
  distributions
- qemu-prep jobs are now generated too (based on the config yaml file)

Overall, it ends up cleaner despite the mess in this patch.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-09 08:51:59 +10:00
Peter Hutterer
bf72012921 gitlab CI: group the config by distribution type
No functional changes, this produces the same gitlab CI file

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-06 13:32:01 +10:00
Peter Hutterer
59a9c6c5fb gitlab CI: expire the results.xml artifacts
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-03-06 13:32:01 +10:00
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