Commit Graph

129 Commits

Author SHA1 Message Date
Leandro Ribeiro a12ba0b30a gitlab CI: add support for DRM-backend tests
In order to run DRM-backend tests, a DRM-device is needed. As we
do not necessarily have control of the hardware that is going to
run our tests in GitLab CI, DRM-backend tests were being skipped.
This patch add support to run the tests using VKMS (virtual KMS).
To achieve this, virtualization is needed, as we need to run a
custom kernel during the CI job. We've decided to go with virtme,
as it is simpler to setup and works good for our use case.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
2020-06-25 10:17:31 +00:00
Peter Hutterer 3002a38177 gitlab CI: update to recent fdo ci-templates
Make use of the templating structure the templates provide. No
functional changes in the end, container-build's default behavior is the
previously called container-if-not-exists template.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-05-08 07:34:28 +10:00
Peter Hutterer 753bdfc1bc gitlab ci: switch to freedesktop ci-templates
The project was moved a while ago to make it look less waylandy. Same
sha, so no actual changes here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-05-08 07:26:01 +10:00
Pekka Paalanen ea3b7857f2 Revert "CI: do not attempt to test GL-renderer"
This reverts commit 1eae54714f.

We install a fixed Mesa into the CI image, so these tests can pass now.

Fixes: https://gitlab.freedesktop.org/wayland/weston/issues/358

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2020-02-18 15:24:38 +02:00
Pekka Paalanen 8bd46c75f9 CI: build a Mesa shapshot for getImage/putImage on pbuffer swrast
c7617d8908
is necessary for running GL-renderer with llvmpipe in Gitlab CI.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2020-02-18 15:24:38 +02:00
Pekka Paalanen 1eae54714f CI: do not attempt to test GL-renderer
Because of https://gitlab.freedesktop.org/mesa/mesa/issues/2219 it would crash,
so disable GL-renderer.

https://gitlab.freedesktop.org/wayland/weston/issues/358 shall revert this.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2020-02-05 11:13:51 +00:00
Pekka Paalanen aaf8bfc0d3 gitlab-ci: install xwayland
The reason the Xwayland test skips is that Xwayland was not installed. We
should exercise Xwayland as well in CI, so install it.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2019-12-13 11:37:40 +02:00
Daniel Stone 90eee632ca CI: Bump ci-templates dependency for working pip
wayland/ci-templates!18 allows the $HOME environment variable to
propagate into the execution of creating our build container. Without
that, buildah would leave us with an empty $HOME, which would have pip
install into /.local/bin.

As $HOME is preserved during our actual native builds, we would try to
find meson in /root/.local/bin and fail, since it had been stored to a
different path.

Bump the ci-templates dependency to one with the fix so we can build new
images again.

Signed-off-by: Daniel Stone <daniels@collabora.com>
2019-12-11 15:22:24 +00:00
Marius Vlad 0a9359d291 gitlab-ci: Update ci-templates to latest SHA commit
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2019-12-03 18:21:15 +02:00
Simon Ser 0a4f6e7d6d
clients: drop simple-dmabuf-drm
This client contains driver-specific code to allocate buffers. However clients
shouldn't contain driver-specific code and should rely on e.g. mesa to allocate
buffers via standard interfaces.

Additionally, because the build system always tries to enable all features, some
experimental drivers and drivers that aren't included in amd64 distribution
packages were required. Users would need to manually disable some drivers.
Releasers would need to install libdrm from source (because the release process
forbids adding custom build flags). Dropping simple-dmabuf-drm simplifies both
building and releasing.

The functionality previously tested via simple-dmabuf-drm can now be tested with
simple-dmabuf-egl.

Signed-off-by: Simon Ser <contact@emersion.fr>
2019-11-28 15:20:13 +01:00
Sebastian Wick a3cf7c6e7f CI: build wayland from source
The next commit bumps the required Wayland version beyond what the repo
version supports.

Build wayland 1.17 into the docker image.

Signed-off-by: Sebastian Wick <sebastian@sebastianwick.net>
2019-11-04 15:08:42 +01:00
Pekka Paalanen 17389d63fd gitlab-ci: fix pages
This hopefully fixes a failure introduced in
5a0706b238987bf3dcf7dde54556850ee88ccdba:

cp: cannot stat '/builds/wayland/weston/prefix-weston-build-native-meson/share/doc/weston/*': No such file or directory

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2019-10-24 12:48:43 +03:00
Stefan Agner 5a0706b238 gitlab-ci: add build configuration without gl-renderer
Building without gl-renderer seems to fail rather often. Introduce a
specific build job which tests this configuration.

Make use of the Folded Block Scalar in YAML to concatenate the build
option string with spaces. This will make diffing build option
changes very readable.

Signed-off-by: Stefan Agner <stefan@agner.ch>
2019-10-24 09:09:33 +00:00
Michael Olbrich 8a171adca6 gitlab-ci: switch to buster
This is needed for pipewire.

Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
2019-07-19 03:58:57 +00:00
Marius Vlad d0861f908a gitlab-ci: Fix pages generation for the documentation
Fixes 0a13641ff: "gitlab-ci: Enable gitlab page for publishing documentation",
to point to correct sphinx documentation.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2019-06-25 17:21:00 +03:00
Marius Vlad 0a13641ff8 gitlab-ci: Enable gitlab page for publishing documentation
While adding pages, remove CI_JOB_ID and CI_JOB_SHA from PREFIX, as this
apparently is not needed. Make build-native-meson a dependency for the
pages stage.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2019-06-25 14:05:54 +00:00
Marius Vlad 08e1d42a36 gitlab-ci: Install doxygen/sphinx/breathe and enable building documentation
Pinned down sphinx to 2.1.0 and breathe to 4.13.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2019-06-25 14:05:54 +00:00
Harish Krupo bc137e345f gitlab-ci: Use gitlab.fdo URL for wayland-protocols
Signed-off-by: Harish Krupo <harishkrupo@gmail.com>
2019-05-09 15:28:13 +05:30
Simon Ser 7bd14029dd
ci: run with werror 2019-04-22 20:02:19 +03:00
Pekka Paalanen fc76388fa1 Remove autotools build
Weston 6.0.0 was released with both autotools and Meson build systems. That
should be enough for downstream to migrate to Meson build on their on pace.

Maintaining two build systems is a hassle, keep the one that is easier to work
with and let the other one go.

doc/dozygen/tool*.doxygen.in are not deleted, because they have not been
integrated with Meson yet.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2019-03-28 13:56:44 +02:00
Benjamin Tissoires f6d2760627 CI: containerize the CI
Reuse the templates from wayland/ci-templates:
whenever DEBIAN_TAG is changed, this will rebuild a new container.

This adds two things:
- better reliability (we do not randomly pull packages whenever the CI
  runs and we can reproduce with this particular environment)
- faster builds, as we do not need to pull the universe at each run

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
[Pekka: bump DEBIAN_TAG]
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2019-03-28 09:59:03 +00:00
Pekka Paalanen 2d4cc4f4dd configure: require opt-in to autotools
Autotools is going away. Break the autotools build so that people are
guaranteed to notice before it is gone. If they have problems with Meson, they
can still use --enable-autotools to build with autotools, but we really want to
hear about any problems.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2019-02-11 15:15:24 +00:00
Eric Toombs 6e229ca263 weston: add more libinput config options
This is so that, for instance, people using weston as their main Wayland
compositor can invert the sense of two finger scrolling or change
pointer acceleration using weston.ini, rather than having to edit C
code.

All of the options that libinput itself exposes through its API are now
exposed in weston.ini.  The new options are called `tap-and-drag`,
`tap-and-drag-lock`, `disable-while-typing`, `middle-emulation`,
`left-handed`, `rotation`, `accel-profile`, `accel-speed`,
`scroll-method`, `natural-scroll`, and `scroll-button`. I have
successfully tested everything except for `rotation`, out of a lack of
hardware support.

weston now depends directly on libevdev for turning button name strings into
kernel input codes. This was needed for the `scroll-button` config
option. (weston already depends indirectly on libevdev through
libinput, so I figured people would be OK with this.) As a practical
matter for debian-style packagers, weston now has a build dependency on
libevdev-dev.

Right now, the code applies the same options to all attached devices
that a given option is relevant for. There are plans for multiple
[libinput] sections, each with different device filters, for users who
need more control here.

Signed-off-by: Eric Toombs <3672-ewtoombs@users.noreply.gitlab.freedesktop.org>
2019-02-06 08:23:02 +00:00
Daniel Stone f3190a45af gitlab-ci: Actually capture Meson logs
Correct the path to the build directory so we can capture Meson logs;
especially useful when tests fail like in #184.

An example of this change having been run with a deliberately-failing
test, capturing the Meson logs, can be found at:
https://gitlab.freedesktop.org/daniels/weston/-/jobs/94623

Signed-off-by: Daniel Stone <daniels@collabora.com>
2019-01-31 09:21:21 +00:00
Jonas Ådahl a9b6470cdf gitlab-ci.yml: Install meson from 0.49 branch
Otherwise CI might fail due to
https://github.com/mesonbuild/meson/issues/4718 but the fix isn't
included in any release yet, so install meson from the 0.49 branch.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2019-01-22 13:58:59 +01:00
Daniel Stone 0f9f86f4a4 CI: Add Meson build
This uses pip to install Meson in order to get a sufficiently new
version.

Signed-off-by: Daniel Stone <daniels@collabora.com>
2018-12-09 15:00:30 +02:00
Pekka Paalanen dfac945c23 CI: build rdp-backend
Extends CI build coverage to catch more issues.

freerdp2-dev needs stretch-backports.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
2018-12-09 14:59:57 +02:00
Pekka Paalanen 54705d752b CI: build remoting-plugin
Extends CI build coverage to catch more issues.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
2018-12-09 14:50:54 +02:00
Daniel Stone fa6069adca Add .gitlab-ci.yml
Add a GitLab CI configuration which tests building, 'make check', and
'make distcheck' of the tree inside a Debian Stretch container. The
choice of distribution base was arbitrary and may easily be changed.

As the version of wayland-protocols available is not sufficiently new,
we clone and build our own local version first. libwayland is new
enough, however we could potentially reuse the artifacts generated by
the Wayland CI job.

When commits are pushed to upstream, the commits will run this CI
pipeline to run these tests, and capture the result as an artifact
bundle, including the compiled binaries and full test suite logs.

Results can be seen at:
    https://gitlab.freedesktop.org/wayland/weston/pipelines/

Signed-off-by: Daniel Stone <daniels@collabora.com>
2018-06-07 08:55:39 +01:00