Commit Graph

44 Commits

Author SHA1 Message Date
Olivier Fourdan 84897891e5 ci: Install libxcvt from git
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2021-08-06 11:29:29 +00:00
Michel Dänzer d163e0a1d5 ci: Fix UPSTREAM_REPO -> FDO_UPSTREAM_REPO
The latter is what ci-templates expect.

Fixes: ab73c16930 "ci: Update to the latest templates"
Reviewed-by: Simon Ser <contact@emersion.fr>
2021-06-11 18:25:01 +02:00
Povilas Kanapickas 2acde60147 .gitlab-ci: Install xorgproto 2021.4.99.2 from git
This is required for the support of upcoming XI 2.4 protocol.

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-05-30 13:26:28 +03:00
Jon Turney d3933a24d1 CI: Add an x86 MinGW-w64 cross build
Only cross-build for x86 MinGW-w64, as x64 MinGW-w64 will probably
require fixing LLP64 issues.

I don't know any source for pre-built cross-dependencies of the X
server, so build these from git.

Don't build with GLX enabled, so I don't have to deal with
cross-building mesa and it's dependencies, for the moment.
2021-04-24 19:43:00 +01:00
Michel Dänzer f08ab719df ci: Test ninja dist in meson jobs
While this isn't critical yet, it might become so at some point, so
let's make sure it keeps working.

Don't set the PIGLIT/XTEST_DIR variables for ninja dist, testing XTS
once against each DDX is enough (as part of ninja test).

Requires git in the docker image.

v2:
* Drop /usr/local/bin/xkbcomp symlink, no longer needed with xkbcomp
  1.4.1 (Peter Hutterer)
2021-01-22 17:03:16 +00:00
Michel Dänzer 099eb6261c ci: Build xkbcomp 1.4.1 for the docker image
This is a requirement for testing meson dist in CI.
2021-01-22 17:03:16 +00:00
Michel Dänzer 821399a9c9 ci: Base docker image on Debian buster instead of testing
By its nature, testing incurs a risk of breaking something every time
we bump the image.

This requires building wayland-protocols locally, since the package in
buster is too old for current Xwayland.

Acked-by: Olivier Fourdan <ofourdan@redhat.com>
2020-11-17 18:20:52 +01:00
Michel Dänzer ab73c16930 ci: Update to the latest templates
They now ensure the image is up to date in forked projects, and we no
longer need to reconstruct the image name.

Acked-by: Olivier Fourdan <ofourdan@redhat.com>
2020-11-17 18:20:19 +01:00
Michel Dänzer 8fc84a0025 ci: Set GIT_STRATEGY=none for the container build job
It doesn't need a full checkout of the xserver Git tree, so this can
save some time and resources.

Acked-by: Olivier Fourdan <ofourdan@redhat.com>
2020-11-17 18:17:46 +01:00
Michel Dänzer 9a7515943f ci: Use $FDO_CI_CONCURRENT if set
To take advantage of more than 4 CPU cores available to the container.

Acked-by: Olivier Fourdan <ofourdan@redhat.com>
2020-11-12 18:35:45 +01:00
Peter Hutterer 6ef1b0108e gitlab CI: use the fdo ci-templates repository
wayland/ci-templates was moved to freedesktop/ci-templates, everything
else stayed the same so the sha is still valid.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
2020-05-20 11:01:13 +10:00
Alexander Volkov 89f42b8821 gitlab-ci: Bump DEBIAN_TAG to build with gcc 9.3.0 2020-05-01 20:02:29 +00:00
Michel Dänzer 1310346d60 gitlab-ci: Add meson build job with glamor disabled
To prevent breakage with glamor disabled from creeping in again.

Reviewed-by: Adam Jackson <ajax@redhat.com>
2020-02-11 15:59:18 +01:00
Michel Dänzer 72ccd7f540 gitlab-ci: Drop "-build-and-test" job name suffix
It's long and kind of redundant.

Reviewed-by: Adam Jackson <ajax@redhat.com>
2020-02-11 15:58:50 +01:00
David Seifert 3aa754c363 Always use `-fno-common` in CI
* This prevents issues from creeping back in at a later stage.
2020-02-09 21:00:35 +00:00
Michel Dänzer b6a5389e17 gitlab-ci: Enable -Werror in the meson build job
There are no warnings left, so let's prevent new ones from creeping
back in.
2020-01-28 20:35:06 +00:00
Michel Dänzer 23b72d8e4b gitlab-ci: Use -j4 instead of -j$(proc)
The shared GitLab CI runners are configured for jobs making use of up
to 4 CPU cores, attempting to use more may overload them.

Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2020-01-06 15:52:24 +01:00
Michel Dänzer 9107a610de gitlab-ci: Use host-mapped directory for ccache
Same as done in Mesa.

Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2020-01-06 15:44:56 +01:00
Michel Dänzer b1ee4036bf gitlab-ci: Mark jobs as interruptible
Allowing redundant pipelines to be automatically cancelled.
2019-12-23 22:01:59 +00:00
Michel Dänzer 1e9c63bedd gitlab-ci: Turn .retry YAML anchor into .ci-run-policy template
To match Mesa.
2019-12-23 22:01:59 +00:00
Peter Hutterer 0c729bb958 gitlab CI: update to the latest version of the ci-templates
Primarily to fix the skopeo copy issue that causes pipelines to fail right
now, see ci-templates commit 0a9bdd33a98f05af67.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-12-12 09:24:46 +10:00
Sven Joachim a505ecba10 gitlab-ci: Add a manpage substitutions regression test
This catches the broken manpages in the autoconf build which appeared
after commit 2e497bf887 ("man: s/__/@/g") and were only partly
rectified by commit 0445705a8b ("man: Fix automake seddery").

Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
2019-10-04 10:34:38 +02:00
Simon Ser 07463a4045
ci: bump DEBIAN_TAG
The previous commit requires wayland-protocols 1.18. Bump DEBIAN_TAG to
re-generate the Debian image and get the wayland-protocols update.

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
2019-09-05 11:38:42 +03:00
Michel Dänzer fee147d75e gitlab-ci: Retry jobs after runner system failures
Up to twice, for a total of 3 attempts maximum.

This will hopefully avoid spurious CI pipeline failures due to
intermittent GitLab/docker infrastructure issues.

Inspired by
6140ed3d2c

Reviewed-by: Eric Anholt <eric@anholt.net>
2019-04-01 16:38:04 +02:00
Michel Dänzer b5ef99f26a gitlab-ci: Simplify autotools job script
Drop the verbose test log output, matching the meson job script.

Reviewed-by: Eric Anholt <eric@anholt.net>
2019-04-01 16:37:27 +02:00
Michel Dänzer 35561d4d1e gitlab-ci: Simplify meson job script
This way, the second ninja command line will be visible again as well in
the job output.

Reviewed-by: Eric Anholt <eric@anholt.net>
2019-04-01 16:36:51 +02:00
Eric Anholt a63d796ce0 gitlab-ci: Build and test glamor using Xephyr.
I keep wanting this when reviewing people's glamor patches.

Signed-off-by: Eric Anholt <eric@anholt.net>
2019-03-28 13:55:22 -07:00
Eric Anholt 8c1dac5f83 gitlab-ci: Install Mesa so we can test glamor.
We need the DRI swrast driver (for GLX in vfb), and also libgl (for
libepoxy in glamor)

Signed-off-by: Eric Anholt <eric@anholt.net>
2019-03-28 13:55:22 -07:00
Eric Anholt 82aab62295 docker: Stop dumping long-summary and meson test logs in the CI logs.
I've found that it's hard to find the original error in a dump full of
xserver debug spam for the passing cases, and when I needed to look at
this I end up using a proper editor on the file from the artifacts
view anyway.

Signed-off-by: Eric Anholt <eric@anholt.net>
2019-03-27 09:57:53 -07:00
Eric Anholt 30369c6345 gitlab-ci: Add a note about where to manage your containers.
Michel noted that I could do this instead of bumping the tag as I
developed, so leave that note for the next person.

Signed-off-by: Eric Anholt <eric@anholt.net>
2019-03-27 09:50:19 -07:00
Benjamin Tissoires f706972309 CI: use wayland-ci-templates to manage the images
There shouldn't be a difference for users, but this way we do manage
all of our containers from freedesktop.org

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2019-03-27 17:06:53 +01:00
Michel Dänzer 0ec9a13c2a Revert "gitlab-ci: Only run docker-image stage if relevant source files change"
This reverts commit 8694395fcf.

Some scenarios have come to light where this failed to ensure the docker
image exists:

* If the master branch of a forked repository is used for an MR which
  doesn't modify .gitlab-ci.yml, the docker-image job may not run.
* If the docker-image job of the first pipeline in a forked repository
  is cancelled or fails for any reason, and .gitlab-ci.yml isn't
  modified for the next pipeline run.
2019-02-27 15:59:01 +00:00
Michel Dänzer 432fad04e7 gitlab-ci: Run make distcheck in autotools build & test job
We don't set the PIGLIT_DIR and XTS_DIR environment variables for make
distcheck for now, otherwise it complains about files left behind by
piglit.
2019-02-22 10:22:49 +01:00
Michel Dänzer 2f12c80175 gitlab-ci: Add autotools build & test job 2019-02-20 11:06:18 +01:00
Michel Dänzer b577df7745 gitlab-ci: Use ccache
Meson picks it up automatically.

Based on:

* https://gitlab.freedesktop.org/mesa/mesa/merge_requests/240
* https://gould.cx/ted/blog/2017/06/10/ccache-for-Gitlab-CI/
* https://stackoverflow.com/questions/53659419/ccache-no-hits-in-gitlab-ci

v2 based on the corresponding Mesa change:
* Quote CCACHE_(BASE)DIR environment variables.
* Clear ccache stats in before_script.
* Move cache stanza to the build-and-test job, the cache isn't used in
  the docker-image job.

Reviewed-by: Adam Jackson <ajax@redhat.com> # v1
2019-02-20 11:02:21 +01:00
Michel Dänzer 537f06e21e gitlab-ci: Add ccache to docker image, and leave in autotools
We're going to make use of these in build & test jobs.
2019-02-19 18:16:16 +01:00
Michel Dänzer fede384962 gitlab-ci: Don't rely on $CI_PROJECT_NAME
The name of a forked repository can be changed later, in which case this
would fail to refer to the main repository.

Pointed out by Eric Engestrom in
https://gitlab.freedesktop.org/mesa/mesa/merge_requests/224 .
2019-02-13 11:30:17 +01:00
Michel Dänzer 8694395fcf gitlab-ci: Only run docker-image stage if relevant source files change
Otherwise there's normally no need to run it. It will also run when a
new branch is created, which ensures that the docker image always exists
(e.g. in a newly forked repository).

Inspired by https://gitlab.freedesktop.org/mesa/mesa/merge_requests/143
2019-02-13 11:26:25 +01:00
Michel Dänzer bc6998b728 gitlab-ci: Set LC_ALL=C.UTF-8
Although piglit could now handle non-ASCII characters in the
environment, meson was still failing without this (even though it's
using Python 3).

Reviewed-by: Eric Anholt <eric@anholt.net>
2018-12-17 17:52:39 +01:00
Michel Dänzer f56d8e2282 gitlab-ci: Docker image can be generated as part of pipeline
This removes the dependency on an externally generated docker image, and
should make it easier to update the docker image or make other changes
related to it.

This is based on Debian testing, because I'm most familiar with Debian.
But it should be easy to base it on another distro.

v2:
* Use kaniko instead of docker-in-docker for image generation, so it can
  also work in unprivileged runners.
* Drop piglit.conf & tetexec.cfg overrides, just make sure the files in
  the image work.
2018-12-17 17:40:08 +01:00
Michel Dänzer ed44f9cd6a Drop Travis Linux build in favour of GitLab CI
Fold build-travis-deps.sh into .gitlab-ci.yml.

Preparation for the next change, which would break the Travis Linux
build.

Reviewed-by: Eric Anholt <eric@anholt.net>
2018-12-17 15:40:52 +01:00
Michel Daenzer a7472da941 Make artifacts of piglit results if job fails
Can be useful for figuring out what caused the failure.
2018-12-12 18:41:54 +01:00
Adam Jackson a41ccaa085 gitlab: Skip the docker-in-docker step
No idea which cult's cargo I was looking at there. Cuts about a minute
off the build time.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-09-12 20:43:42 +00:00
Adam Jackson 531e1648fc gitlab-ci: Add for gitlab.freedesktop.org
Looks quite a bit like the travis path, doesn't it? Still, nice to not
rely on an external service if we don't have to.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-05-02 15:00:53 -04:00