2019-03-18 17:51:07 +03:00
|
|
|
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0:
|
|
|
|
|
2023-06-12 11:50:03 +03:00
|
|
|
.templates_sha: &template_sha 184ca628f89f3193c249b4e34e45afee2773a833 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
|
2021-06-21 23:34:43 +03:00
|
|
|
# This file uses the freedesktop ci-templates to build Weston and run our
|
|
|
|
# tests in CI.
|
2021-09-12 14:48:41 +03:00
|
|
|
#
|
2021-06-21 23:34:43 +03:00
|
|
|
# ci-templates uses a multi-stage build process. First, the base container
|
|
|
|
# image is built which contains the core distribution, the toolchain, and
|
|
|
|
# all our build dependencies. This container is aggressively cached; if a
|
|
|
|
# container image matching $FDO_DISTRIBUTION_TAG is found in either the
|
|
|
|
# upstream repo (wayland/weston) or the user's downstream repo, it is
|
|
|
|
# reused for the build. This gives us predictability of build and far
|
|
|
|
# quicker runtimes, however it means that any changes to the base container
|
|
|
|
# must also change $FDO_DISTRIBUTION_TAG. When changing this, please use
|
|
|
|
# the current date as well as a unique build identifier.
|
|
|
|
#
|
|
|
|
# After the container is either rebuilt (tag mismatch) or reused (tag
|
|
|
|
# previously used), the build stage executes within this container.
|
|
|
|
#
|
|
|
|
# The final stage is used to expose documentation and coverage information,
|
|
|
|
# including publishing documentation to the public site when built on the
|
|
|
|
# main branch.
|
|
|
|
#
|
|
|
|
# Apart from the 'variables', 'include', and 'stages' top-level anchors,
|
|
|
|
# everything not beginning with a dot ('.') is the name of a job which will
|
|
|
|
# be executed as part of CI, unless the rules specify that it should not be
|
|
|
|
# run.
|
|
|
|
#
|
|
|
|
# Variables prefixed with CI_ are generally provided by GitLab itself;
|
|
|
|
# variables prefixed with FDO_ and templates prefixed by .fdo are provided
|
|
|
|
# by the ci-templates.
|
|
|
|
#
|
|
|
|
# For more information on GitLab CI, including the YAML syntax, see:
|
|
|
|
# https://docs.gitlab.com/ee/ci/yaml/README.html
|
|
|
|
#
|
|
|
|
# Note that freedesktop.org uses the 'Community Edition' of GitLab, so features
|
|
|
|
# marked as 'premium' or 'ultimate' are not available to us.
|
|
|
|
#
|
|
|
|
# For more information on ci-templates, see:
|
|
|
|
# - documentation at https://freedesktop.pages.freedesktop.org/ci-templates/
|
|
|
|
# - repo at https://gitlab.freedesktop.org/freedesktop/ci-templates/
|
2021-07-31 17:07:58 +03:00
|
|
|
|
2019-03-18 17:51:07 +03:00
|
|
|
variables:
|
2020-05-08 00:33:57 +03:00
|
|
|
FDO_UPSTREAM_REPO: wayland/weston
|
2023-05-17 15:43:20 +03:00
|
|
|
FDO_REPO_SUFFIX: "$BUILD_OS-$FDO_DISTRIBUTION_VERSION/$BUILD_ARCH"
|
Add support for FreeRDP 3.x
With this, Weston can build against either FreeRDP 3.x or 2.x depending
on what has been detected by meson (3.x takes priority).
The main source of changes is the settings are now opaque and require the
use of accessors. That was pretty mechanical and seems to work on 2.x as
well.
There are a few changes around constants getting a WINPR_ prefix, the UTF
conversion functions we used are obsolete, so use the proper "new" ones,
and other fairly minor things.
The key & cert management changed rather completely, libfreerdp won't load
files for us, we have to use the helpers to do so, and I *think* the RDP RSA
key and SSL key use the same setting location. Seems to work with SSL at
least.
There was also a minor glitch with keyboard input, KBD_FLAGS_DOWN is basically
never set. It appears to be an upstream FreeRDP change in 3.x, it was being
set incorrectly (always on any key down) while it should only be set on
repeats. However the fastpath input code has no way to set it from what I
can tell, so it's just loss. We instead ignore it.
Note that the screen size is odd (and different between freerdp client and
remmina), it also won't adjust dynamically when the window is resized. I
don't think this relates to my port though, I observe the same behaviour
with the packaged FreeRDP 2 based Weston, but I can try to look into it
later
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2024-08-02 08:45:33 +03:00
|
|
|
FDO_DISTRIBUTION_TAG: '2024-08-14-00-freerdp3.x'
|
2019-03-18 17:51:07 +03:00
|
|
|
|
|
|
|
|
|
|
|
include:
|
2021-06-21 23:34:43 +03:00
|
|
|
# Here we use a fixed ref in order to isolate ourselves from ci-templates
|
|
|
|
# API changes. If you need new features from ci-templates you must bump
|
|
|
|
# this to the current SHA you require from the ci-templates repo, however
|
|
|
|
# be aware that you may need to account for API changes when doing so.
|
2020-05-08 00:25:48 +03:00
|
|
|
- project: 'freedesktop/ci-templates'
|
2021-07-31 17:07:58 +03:00
|
|
|
ref: *template_sha
|
2019-03-18 17:51:07 +03:00
|
|
|
file: '/templates/debian.yml'
|
2021-07-31 17:12:08 +03:00
|
|
|
- project: 'freedesktop/ci-templates'
|
|
|
|
ref: *template_sha
|
|
|
|
file: '/templates/ci-fairy.yml'
|
2019-03-18 17:51:07 +03:00
|
|
|
|
2024-06-07 15:45:17 +03:00
|
|
|
.default-rules:
|
|
|
|
rules:
|
|
|
|
# do not duplicate pipelines on merge pipelines
|
|
|
|
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push"
|
|
|
|
when: never
|
|
|
|
# we need a default case though, so all the rest still run
|
|
|
|
- when: on_success
|
|
|
|
|
|
|
|
.merge-rules:
|
|
|
|
rules:
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
|
|
when: always
|
|
|
|
- when: never
|
2018-06-06 00:20:40 +03:00
|
|
|
|
2021-06-21 23:34:43 +03:00
|
|
|
# Define the build stages. These are used for UI grouping as well as
|
|
|
|
# dependencies.
|
2018-06-06 00:20:40 +03:00
|
|
|
stages:
|
2021-06-22 12:58:39 +03:00
|
|
|
- "Merge request checks"
|
2024-06-07 15:45:17 +03:00
|
|
|
- "Pre Base container"
|
2021-06-22 12:58:39 +03:00
|
|
|
- "Base container"
|
|
|
|
- "Full build and test"
|
|
|
|
- "No-GL build and test"
|
|
|
|
- "Other builds"
|
2019-06-14 16:00:07 +03:00
|
|
|
- pages
|
2018-06-06 00:20:40 +03:00
|
|
|
|
|
|
|
|
2021-06-21 23:34:43 +03:00
|
|
|
# Base variables used for anything using a Debian environment
|
2023-05-17 14:25:16 +03:00
|
|
|
.os-debian-lts:
|
2020-05-08 00:33:57 +03:00
|
|
|
variables:
|
2021-06-22 00:25:41 +03:00
|
|
|
BUILD_OS: debian
|
2023-05-17 14:22:26 +03:00
|
|
|
LLVM_VERSION: 11
|
Add support for FreeRDP 3.x
With this, Weston can build against either FreeRDP 3.x or 2.x depending
on what has been detected by meson (3.x takes priority).
The main source of changes is the settings are now opaque and require the
use of accessors. That was pretty mechanical and seems to work on 2.x as
well.
There are a few changes around constants getting a WINPR_ prefix, the UTF
conversion functions we used are obsolete, so use the proper "new" ones,
and other fairly minor things.
The key & cert management changed rather completely, libfreerdp won't load
files for us, we have to use the helpers to do so, and I *think* the RDP RSA
key and SSL key use the same setting location. Seems to work with SSL at
least.
There was also a minor glitch with keyboard input, KBD_FLAGS_DOWN is basically
never set. It appears to be an upstream FreeRDP change in 3.x, it was being
set incorrectly (always on any key down) while it should only be set on
repeats. However the fastpath input code has no way to set it from what I
can tell, so it's just loss. We instead ignore it.
Note that the screen size is odd (and different between freerdp client and
remmina), it also won't adjust dynamically when the window is resized. I
don't think this relates to my port though, I observe the same behaviour
with the packaged FreeRDP 2 based Weston, but I can try to look into it
later
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2024-08-02 08:45:33 +03:00
|
|
|
FREERDP_VERSION: 2
|
2021-08-16 18:49:52 +03:00
|
|
|
FDO_DISTRIBUTION_VERSION: bullseye
|
2023-05-17 15:41:54 +03:00
|
|
|
FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} BUILD_ARCH=${BUILD_ARCH} KERNEL_IMAGE=${KERNEL_IMAGE} KERNEL_DEFCONFIG=${KERNEL_DEFCONFIG} LLVM_VERSION=${LLVM_VERSION} FDO_DISTRIBUTION_VERSION=${FDO_DISTRIBUTION_VERSION} bash .gitlab-ci/debian-install.sh'
|
2020-05-08 00:33:57 +03:00
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
.os-debian:
|
|
|
|
variables:
|
|
|
|
BUILD_OS: debian
|
|
|
|
LLVM_VERSION: 15
|
Add support for FreeRDP 3.x
With this, Weston can build against either FreeRDP 3.x or 2.x depending
on what has been detected by meson (3.x takes priority).
The main source of changes is the settings are now opaque and require the
use of accessors. That was pretty mechanical and seems to work on 2.x as
well.
There are a few changes around constants getting a WINPR_ prefix, the UTF
conversion functions we used are obsolete, so use the proper "new" ones,
and other fairly minor things.
The key & cert management changed rather completely, libfreerdp won't load
files for us, we have to use the helpers to do so, and I *think* the RDP RSA
key and SSL key use the same setting location. Seems to work with SSL at
least.
There was also a minor glitch with keyboard input, KBD_FLAGS_DOWN is basically
never set. It appears to be an upstream FreeRDP change in 3.x, it was being
set incorrectly (always on any key down) while it should only be set on
repeats. However the fastpath input code has no way to set it from what I
can tell, so it's just loss. We instead ignore it.
Note that the screen size is odd (and different between freerdp client and
remmina), it also won't adjust dynamically when the window is resized. I
don't think this relates to my port though, I observe the same behaviour
with the packaged FreeRDP 2 based Weston, but I can try to look into it
later
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2024-08-02 08:45:33 +03:00
|
|
|
FREERDP_VERSION: 3
|
|
|
|
USE_BOOKWORM_BACKPORTS: y
|
CI: work around LeakSanitizer crashes with use_tls=0
Without this fix, we have randomly been getting CI failures due to
LeakSanitizer itself crashing after all the tests in a program have
succeeded. This has been happening randomly for a long time, but
https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1486
made it very reliably repeatable in the job x86_64-debian-full-build
(and no other job) in the test-subsurface-shot program.
--- Fixture 2 (GL) ok: passed 4, skipped 0, failed 0, total 4
Tracer caught signal 11: addr=0x1b8 pc=0x7f6b3ba640f0 sp=0x7f6b2cc77d10
==489==LeakSanitizer has encountered a fatal error.
I was also able to get a core file after twiddling, but there it ended
up with lsan aborting itself rather than a segfault.
We got some clues that use_tls=0 might work around this, from
https://github.com/google/sanitizers/issues/1342
https://github.com/google/sanitizers/issues/1409
and some other projects that have cargo-culted the same workaround.
Using that cause more false leaks to appear, so they need to be
suppressed. I suppose we are not interested in catching leaks in glib
using code, so I opted to suppress g_malloc0 altogether. Pinpointing it
better might have required much more slower stack tracing.
wl_shm_buffer_begin_access() uses TLS, so no wonder it gets flagged.
ld-*.so is simply uninteresting to us, and it got flagged too.
Since this might have been fixed already in LeakSanitizer upstream, who
knows, leave some notes to revisit this when we upgrade that in CI.
This fix seems to make the branch of
https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1486
in my quick testing.
Suggested-by: Derek Foreman <derek.foreman@collabora.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2024-04-09 15:41:45 +03:00
|
|
|
# If you upgrade from bookworm, see the use_tls=0 notes in tests/meson.build.
|
2023-05-17 15:43:20 +03:00
|
|
|
FDO_DISTRIBUTION_VERSION: bookworm
|
|
|
|
FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} BUILD_ARCH=${BUILD_ARCH} KERNEL_IMAGE=${KERNEL_IMAGE} KERNEL_DEFCONFIG=${KERNEL_DEFCONFIG} LLVM_VERSION=${LLVM_VERSION} FDO_DISTRIBUTION_VERSION=${FDO_DISTRIBUTION_VERSION} bash .gitlab-ci/debian-install.sh'
|
|
|
|
|
2024-06-07 15:45:17 +03:00
|
|
|
# Does not inherit .default-rules as we only want it to run in MR context.
|
2021-07-31 17:12:08 +03:00
|
|
|
check-commit:
|
|
|
|
extends:
|
|
|
|
- .fdo.ci-fairy
|
2024-06-07 15:45:17 +03:00
|
|
|
- .merge-rules
|
2021-06-22 12:58:39 +03:00
|
|
|
stage: "Merge request checks"
|
2021-07-31 17:12:08 +03:00
|
|
|
script:
|
|
|
|
- ci-fairy check-commits --signed-off-by --junit-xml=results.xml
|
2021-10-18 15:50:42 +03:00
|
|
|
- ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml
|
2021-07-31 17:12:08 +03:00
|
|
|
variables:
|
|
|
|
GIT_DEPTH: 100
|
|
|
|
artifacts:
|
|
|
|
reports:
|
|
|
|
junit: results.xml
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
.debian-lts-x86_64:
|
2021-06-22 00:25:41 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .os-debian-lts
|
2021-06-22 00:25:41 +03:00
|
|
|
variables:
|
|
|
|
BUILD_ARCH: "x86-64"
|
2021-06-22 02:16:05 +03:00
|
|
|
KERNEL_IMAGE: "bzImage"
|
|
|
|
KERNEL_DEFCONFIG: "x86_64_defconfig"
|
2020-05-08 00:33:57 +03:00
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
.debian-x86_64:
|
|
|
|
extends:
|
|
|
|
- .os-debian
|
|
|
|
variables:
|
|
|
|
BUILD_ARCH: "x86-64"
|
|
|
|
KERNEL_IMAGE: "bzImage"
|
|
|
|
KERNEL_DEFCONFIG: "x86_64_defconfig"
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
.debian-lts-armv7:
|
2021-06-22 02:53:07 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .os-debian-lts
|
2021-06-22 02:53:07 +03:00
|
|
|
variables:
|
|
|
|
BUILD_ARCH: "armv7"
|
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
.debian-armv7:
|
|
|
|
extends:
|
|
|
|
- .os-debian
|
|
|
|
variables:
|
|
|
|
BUILD_ARCH: "armv7"
|
Add support for FreeRDP 3.x
With this, Weston can build against either FreeRDP 3.x or 2.x depending
on what has been detected by meson (3.x takes priority).
The main source of changes is the settings are now opaque and require the
use of accessors. That was pretty mechanical and seems to work on 2.x as
well.
There are a few changes around constants getting a WINPR_ prefix, the UTF
conversion functions we used are obsolete, so use the proper "new" ones,
and other fairly minor things.
The key & cert management changed rather completely, libfreerdp won't load
files for us, we have to use the helpers to do so, and I *think* the RDP RSA
key and SSL key use the same setting location. Seems to work with SSL at
least.
There was also a minor glitch with keyboard input, KBD_FLAGS_DOWN is basically
never set. It appears to be an upstream FreeRDP change in 3.x, it was being
set incorrectly (always on any key down) while it should only be set on
repeats. However the fastpath input code has no way to set it from what I
can tell, so it's just loss. We instead ignore it.
Note that the screen size is odd (and different between freerdp client and
remmina), it also won't adjust dynamically when the window is resized. I
don't think this relates to my port though, I observe the same behaviour
with the packaged FreeRDP 2 based Weston, but I can try to look into it
later
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2024-08-02 08:45:33 +03:00
|
|
|
# Armv7 doesn't have freerdp3 in bookworm-backports so we don't build FreeRDP
|
|
|
|
MESON_DIST_OPTIONS: "-Dbackend-rdp=false"
|
|
|
|
# Inhibit installation of freerdp-dev
|
|
|
|
FREERDP_VERSION: 0
|
2023-05-17 15:43:20 +03:00
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
.debian-lts-aarch64:
|
2021-06-22 02:22:49 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .os-debian-lts
|
2021-06-22 02:22:49 +03:00
|
|
|
variables:
|
|
|
|
BUILD_ARCH: "aarch64"
|
2021-06-22 02:33:01 +03:00
|
|
|
KERNEL_IMAGE: "Image"
|
|
|
|
KERNEL_DEFCONFIG: "defconfig"
|
|
|
|
QEMU_SMP: 8 # built-in QEmu limit
|
2021-06-22 02:22:49 +03:00
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
.debian-aarch64:
|
|
|
|
extends:
|
|
|
|
- .os-debian
|
|
|
|
variables:
|
|
|
|
BUILD_ARCH: "aarch64"
|
|
|
|
KERNEL_IMAGE: "Image"
|
|
|
|
KERNEL_DEFCONFIG: "defconfig"
|
|
|
|
QEMU_SMP: 8 # built-in QEmu limit
|
|
|
|
|
2024-06-07 15:45:17 +03:00
|
|
|
base-container-pre:
|
|
|
|
rules:
|
2024-06-11 17:23:33 +03:00
|
|
|
# this run always in merge request
|
2024-06-07 15:45:17 +03:00
|
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
|
|
when: always
|
2024-06-11 17:23:33 +03:00
|
|
|
# run always on main to allow docs to publish
|
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_PROJECT_PATH == "wayland/weston" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
|
|
|
|
when: always
|
|
|
|
# allow to run manually in a branch
|
2024-06-07 15:45:17 +03:00
|
|
|
- when: manual
|
|
|
|
stage: "Pre Base container"
|
|
|
|
script: echo "exit 0"
|
|
|
|
|
2021-06-21 23:34:43 +03:00
|
|
|
# Build our base container image, which contains the core distribution, the
|
|
|
|
# toolchain, and all our build dependencies. This will be reused in the build
|
|
|
|
# stage.
|
2023-05-17 14:25:16 +03:00
|
|
|
x86_64-debian-lts-container_prep:
|
2020-05-08 00:33:57 +03:00
|
|
|
extends:
|
2024-06-07 15:45:17 +03:00
|
|
|
- .default-rules
|
2023-05-17 14:25:16 +03:00
|
|
|
- .debian-lts-x86_64
|
2020-05-08 00:33:57 +03:00
|
|
|
- .fdo.container-build@debian
|
2021-04-15 23:43:37 +03:00
|
|
|
timeout: 30m
|
2024-06-07 15:45:17 +03:00
|
|
|
needs:
|
|
|
|
- job: base-container-pre
|
2021-06-22 12:58:39 +03:00
|
|
|
stage: "Base container"
|
2019-03-18 17:51:07 +03:00
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
x86_64-debian-container_prep:
|
|
|
|
extends:
|
2024-06-07 15:45:17 +03:00
|
|
|
- .default-rules
|
2023-05-17 15:43:20 +03:00
|
|
|
- .debian-x86_64
|
|
|
|
- .fdo.container-build@debian
|
2024-06-07 15:45:17 +03:00
|
|
|
needs:
|
|
|
|
- job: base-container-pre
|
2023-05-17 15:43:20 +03:00
|
|
|
timeout: 30m
|
|
|
|
stage: "Base container"
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
armv7-debian-lts-container_prep:
|
2021-06-22 02:53:07 +03:00
|
|
|
extends:
|
2024-06-07 15:45:17 +03:00
|
|
|
- .default-rules
|
2023-05-17 14:25:16 +03:00
|
|
|
- .debian-lts-armv7
|
2021-06-22 02:53:07 +03:00
|
|
|
- .fdo.container-build@debian
|
|
|
|
tags:
|
|
|
|
- aarch64
|
|
|
|
variables:
|
2023-05-17 15:43:20 +03:00
|
|
|
FDO_BASE_IMAGE: "arm32v7/debian:$FDO_DISTRIBUTION_VERSION"
|
2024-06-07 15:45:17 +03:00
|
|
|
needs:
|
|
|
|
- job: base-container-pre
|
2023-05-17 15:43:20 +03:00
|
|
|
timeout: 30m
|
|
|
|
stage: "Base container"
|
|
|
|
|
|
|
|
armv7-debian-container_prep:
|
|
|
|
extends:
|
2024-06-07 15:45:17 +03:00
|
|
|
- .default-rules
|
2023-05-17 15:43:20 +03:00
|
|
|
- .debian-armv7
|
|
|
|
- .fdo.container-build@debian
|
|
|
|
tags:
|
|
|
|
- aarch64
|
|
|
|
variables:
|
|
|
|
FDO_BASE_IMAGE: "arm32v7/debian:$FDO_DISTRIBUTION_VERSION"
|
2024-06-07 15:45:17 +03:00
|
|
|
needs:
|
|
|
|
- job: base-container-pre
|
2021-06-22 02:53:07 +03:00
|
|
|
timeout: 30m
|
2021-06-22 12:58:39 +03:00
|
|
|
stage: "Base container"
|
2021-06-22 02:53:07 +03:00
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
aarch64-debian-lts-container_prep:
|
2021-06-22 02:22:49 +03:00
|
|
|
extends:
|
2024-06-07 15:45:17 +03:00
|
|
|
- .default-rules
|
2023-05-17 14:25:16 +03:00
|
|
|
- .debian-lts-aarch64
|
2021-06-22 02:22:49 +03:00
|
|
|
- .fdo.container-build@debian
|
|
|
|
tags:
|
|
|
|
- aarch64
|
2024-06-07 15:45:17 +03:00
|
|
|
needs:
|
|
|
|
- job: base-container-pre
|
2021-06-22 02:22:49 +03:00
|
|
|
timeout: 30m
|
2021-06-22 12:58:39 +03:00
|
|
|
stage: "Base container"
|
2019-03-18 17:51:07 +03:00
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
aarch64-debian-container_prep:
|
|
|
|
extends:
|
2024-06-07 15:45:17 +03:00
|
|
|
- .default-rules
|
2023-05-17 15:43:20 +03:00
|
|
|
- .debian-aarch64
|
|
|
|
- .fdo.container-build@debian
|
|
|
|
tags:
|
|
|
|
- aarch64
|
2024-06-07 15:45:17 +03:00
|
|
|
needs:
|
|
|
|
- job: base-container-pre
|
2023-05-17 15:43:20 +03:00
|
|
|
timeout: 30m
|
|
|
|
stage: "Base container"
|
|
|
|
|
2021-06-21 23:34:43 +03:00
|
|
|
# Core templates for all of our build steps. These are reused by all build jobs
|
|
|
|
# through the `extends` keyword.
|
2021-05-12 17:08:29 +03:00
|
|
|
.build-env:
|
2021-09-22 16:29:05 +03:00
|
|
|
timeout: 15m
|
2021-05-14 13:34:49 +03:00
|
|
|
variables:
|
|
|
|
BUILDDIR: $CI_PROJECT_DIR/build-weston-$CI_JOB_NAME
|
|
|
|
PREFIX: $CI_PROJECT_DIR/prefix-weston-$CI_JOB_NAME
|
2019-03-18 17:51:07 +03:00
|
|
|
before_script:
|
2021-06-21 23:44:37 +03:00
|
|
|
- export PATH=~/.local/bin:$PATH
|
2018-06-06 00:20:40 +03:00
|
|
|
- export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
|
2020-06-03 16:02:34 +03:00
|
|
|
- export TESTS_RES_PATH="$BUILDDIR/tests-res.txt"
|
2018-06-06 00:20:40 +03:00
|
|
|
- mkdir "$BUILDDIR" "$PREFIX"
|
2019-03-18 17:51:07 +03:00
|
|
|
|
2021-08-03 15:11:51 +03:00
|
|
|
.build-with-clang:
|
|
|
|
variables:
|
2023-05-17 14:22:26 +03:00
|
|
|
CC: clang-$LLVM_VERSION
|
|
|
|
CC_LD: lld-$LLVM_VERSION
|
2021-08-03 15:11:51 +03:00
|
|
|
MESON_TOOLCHAIN_OPTIONS: "$MESON_OPTIONS -Db_lundef=false" # clang+ASan+undef=boom
|
|
|
|
|
2021-06-21 23:34:43 +03:00
|
|
|
# Extends the core build templates to also provide for running our testing. We
|
|
|
|
# run this inside a virtme (qemu wrapper) VM environment so we can test the DRM
|
|
|
|
# backend using the 'vkms' virtual driver under Linux.
|
2021-05-12 17:08:29 +03:00
|
|
|
.build-and-test:
|
2021-06-22 00:25:41 +03:00
|
|
|
extends:
|
2024-06-07 15:45:17 +03:00
|
|
|
- .default-rules
|
2018-07-22 17:38:54 +03:00
|
|
|
script:
|
|
|
|
- cd "$BUILDDIR"
|
Add support for FreeRDP 3.x
With this, Weston can build against either FreeRDP 3.x or 2.x depending
on what has been detected by meson (3.x takes priority).
The main source of changes is the settings are now opaque and require the
use of accessors. That was pretty mechanical and seems to work on 2.x as
well.
There are a few changes around constants getting a WINPR_ prefix, the UTF
conversion functions we used are obsolete, so use the proper "new" ones,
and other fairly minor things.
The key & cert management changed rather completely, libfreerdp won't load
files for us, we have to use the helpers to do so, and I *think* the RDP RSA
key and SSL key use the same setting location. Seems to work with SSL at
least.
There was also a minor glitch with keyboard input, KBD_FLAGS_DOWN is basically
never set. It appears to be an upstream FreeRDP change in 3.x, it was being
set incorrectly (always on any key down) while it should only be set on
repeats. However the fastpath input code has no way to set it from what I
can tell, so it's just loss. We instead ignore it.
Note that the screen size is odd (and different between freerdp client and
remmina), it also won't adjust dynamically when the window is resized. I
don't think this relates to my port though, I observe the same behaviour
with the packaged FreeRDP 2 based Weston, but I can try to look into it
later
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2024-08-02 08:45:33 +03:00
|
|
|
- meson --prefix="$PREFIX" --wrap-mode=nofallback -Db_sanitize=address ${MESON_OPTIONS} ${MESON_TOOLCHAIN_OPTIONS} ${MESON_DIST_OPTIONS} ..
|
2021-05-18 15:56:48 +03:00
|
|
|
- ninja -k0 -j${FDO_CI_CONCURRENT:-4}
|
2018-07-22 17:38:54 +03:00
|
|
|
- ninja install
|
2021-06-22 02:33:01 +03:00
|
|
|
- test -n "${QEMU_SMP}" || QEMU_SMP=${FDO_CI_CONCURRENT:-4}
|
gitlab-ci: Use virtme-ng for running our tests
virtme-ng is the an update version of virtme, and this patch uses
that instead of the one we had partially modified.
Besides that this partially reverts ad039cdfd2b47, 'backend-drm: Enable
atomic async flip support' and makes our CI happier. Specifically
ad039cdfd2b47 updated our kernel version from 6.3 to 6.9 but did not do
a FDO bum,p and with that, no container images were rebuilt. Effectively
we were still using 6.3.
Now, with the FDO bump, in this patch, we noticed that the drm-writeback
test is failing with linux kernel version 6.9.
So far, only 6.3 and 6.4 kernel versions seems to be working, that is,
without that drm writeback test timing out. The safest bet for the
time being, would be to keep our CI just use 6.3 kernel, until we
have proper version to update to.
Signed-off-by: Daniel Stone <daniel.stone@collabora.com>
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2024-07-24 19:35:20 +03:00
|
|
|
- virtme-run --rw --pwd --kimg /weston-virtme/${KERNEL_IMAGE} --kopt quiet --kopt log_buf_len=2M --script-sh ../.gitlab-ci/virtme-scripts/run-weston-tests.sh --qemu-opts -m 4096 -smp ${QEMU_SMP}
|
2020-06-03 16:02:34 +03:00
|
|
|
- TEST_RES=$(cat $TESTS_RES_PATH)
|
|
|
|
- rm $TESTS_RES_PATH
|
|
|
|
- cp -R /weston-virtme ./
|
2021-06-22 02:16:05 +03:00
|
|
|
- rm weston-virtme/${KERNEL_IMAGE}
|
2020-06-03 16:02:34 +03:00
|
|
|
- exit $TEST_RES
|
2018-07-22 17:38:54 +03:00
|
|
|
artifacts:
|
2019-06-14 16:00:07 +03:00
|
|
|
name: weston-$CI_COMMIT_SHA
|
2018-07-22 17:38:54 +03:00
|
|
|
when: always
|
|
|
|
paths:
|
2021-05-14 13:34:49 +03:00
|
|
|
- $BUILDDIR/*.png
|
|
|
|
- $BUILDDIR/meson-logs
|
2021-11-29 21:41:20 +03:00
|
|
|
- $BUILDDIR/dmesg.log
|
2021-05-14 13:34:49 +03:00
|
|
|
- $BUILDDIR/weston-virtme
|
|
|
|
- $PREFIX
|
2021-02-08 14:32:35 +03:00
|
|
|
reports:
|
2023-06-21 15:53:45 +03:00
|
|
|
junit: $BUILDDIR/meson-logs/testlog-junit.xml
|
2019-06-14 16:00:07 +03:00
|
|
|
|
2021-06-21 23:34:43 +03:00
|
|
|
# Same as above, but without running any tests.
|
2021-05-12 17:08:29 +03:00
|
|
|
.build-no-test:
|
2021-06-22 00:25:41 +03:00
|
|
|
extends:
|
2024-06-07 15:45:17 +03:00
|
|
|
- .default-rules
|
2020-12-02 23:30:34 +03:00
|
|
|
script:
|
|
|
|
- cd "$BUILDDIR"
|
Add support for FreeRDP 3.x
With this, Weston can build against either FreeRDP 3.x or 2.x depending
on what has been detected by meson (3.x takes priority).
The main source of changes is the settings are now opaque and require the
use of accessors. That was pretty mechanical and seems to work on 2.x as
well.
There are a few changes around constants getting a WINPR_ prefix, the UTF
conversion functions we used are obsolete, so use the proper "new" ones,
and other fairly minor things.
The key & cert management changed rather completely, libfreerdp won't load
files for us, we have to use the helpers to do so, and I *think* the RDP RSA
key and SSL key use the same setting location. Seems to work with SSL at
least.
There was also a minor glitch with keyboard input, KBD_FLAGS_DOWN is basically
never set. It appears to be an upstream FreeRDP change in 3.x, it was being
set incorrectly (always on any key down) while it should only be set on
repeats. However the fastpath input code has no way to set it from what I
can tell, so it's just loss. We instead ignore it.
Note that the screen size is odd (and different between freerdp client and
remmina), it also won't adjust dynamically when the window is resized. I
don't think this relates to my port though, I observe the same behaviour
with the packaged FreeRDP 2 based Weston, but I can try to look into it
later
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2024-08-02 08:45:33 +03:00
|
|
|
- meson --prefix="$PREFIX" --wrap-mode=nofallback ${MESON_OPTIONS} ${MESON_DIST_OPTIONS} ..
|
2021-05-18 15:56:48 +03:00
|
|
|
- ninja -k0 -j${FDO_CI_CONCURRENT:-4}
|
2020-12-02 23:30:34 +03:00
|
|
|
- ninja install
|
|
|
|
- ninja clean
|
|
|
|
artifacts:
|
|
|
|
name: weston-$CI_COMMIT_SHA
|
|
|
|
when: always
|
|
|
|
paths:
|
2021-05-14 13:34:49 +03:00
|
|
|
- $BUILDDIR/meson-logs
|
|
|
|
- $PREFIX
|
2020-12-02 23:30:34 +03:00
|
|
|
|
2021-06-22 00:25:41 +03:00
|
|
|
# OS/architecture-specific variants
|
2023-05-17 14:25:16 +03:00
|
|
|
.build-env-debian-lts-x86_64:
|
2021-06-22 00:25:41 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .debian-lts-x86_64
|
2021-06-22 00:25:41 +03:00
|
|
|
- .fdo.suffixed-image@debian
|
|
|
|
- .build-env
|
2021-06-22 02:08:20 +03:00
|
|
|
needs:
|
2023-05-17 14:25:16 +03:00
|
|
|
- job: x86_64-debian-lts-container_prep
|
2021-06-22 02:08:20 +03:00
|
|
|
artifacts: false
|
2021-06-22 00:25:41 +03:00
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
.build-env-debian-x86_64:
|
|
|
|
extends:
|
|
|
|
- .debian-x86_64
|
|
|
|
- .fdo.suffixed-image@debian
|
|
|
|
- .build-env
|
|
|
|
needs:
|
|
|
|
- job: x86_64-debian-container_prep
|
|
|
|
artifacts: false
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
.build-env-debian-lts-armv7:
|
2021-06-22 02:53:07 +03:00
|
|
|
tags:
|
|
|
|
- aarch64
|
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .debian-lts-armv7
|
2021-06-22 02:53:07 +03:00
|
|
|
- .fdo.suffixed-image@debian
|
|
|
|
- .build-env
|
|
|
|
needs:
|
2023-05-17 14:25:16 +03:00
|
|
|
- job: armv7-debian-lts-container_prep
|
2021-06-22 02:53:07 +03:00
|
|
|
artifacts: false
|
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
.build-env-debian-armv7:
|
|
|
|
tags:
|
|
|
|
- aarch64
|
|
|
|
extends:
|
|
|
|
- .debian-armv7
|
|
|
|
- .fdo.suffixed-image@debian
|
|
|
|
- .build-env
|
|
|
|
needs:
|
|
|
|
- job: armv7-debian-container_prep
|
|
|
|
artifacts: false
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
.build-env-debian-lts-aarch64:
|
2021-06-22 02:22:49 +03:00
|
|
|
tags:
|
|
|
|
- aarch64
|
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .debian-lts-aarch64
|
2021-06-22 02:22:49 +03:00
|
|
|
- .fdo.suffixed-image@debian
|
|
|
|
- .build-env
|
|
|
|
needs:
|
2023-05-17 14:25:16 +03:00
|
|
|
- job: aarch64-debian-lts-container_prep
|
2021-06-22 02:22:49 +03:00
|
|
|
artifacts: false
|
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
.build-env-debian-aarch64:
|
|
|
|
tags:
|
|
|
|
- aarch64
|
|
|
|
extends:
|
|
|
|
- .debian-aarch64
|
|
|
|
- .fdo.suffixed-image@debian
|
|
|
|
- .build-env
|
|
|
|
needs:
|
|
|
|
- job: aarch64-debian-container_prep
|
|
|
|
artifacts: false
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
.test-env-debian-lts-x86_64:
|
2021-06-22 00:25:41 +03:00
|
|
|
tags:
|
|
|
|
- kvm
|
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .build-env-debian-lts-x86_64
|
2021-06-22 00:25:41 +03:00
|
|
|
- .build-and-test
|
2021-06-22 02:08:20 +03:00
|
|
|
needs:
|
2023-05-17 14:25:16 +03:00
|
|
|
- job: x86_64-debian-lts-container_prep
|
2021-06-22 02:08:20 +03:00
|
|
|
artifacts: false
|
2021-06-22 00:25:41 +03:00
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
.test-env-debian-x86_64:
|
|
|
|
tags:
|
|
|
|
- kvm
|
|
|
|
extends:
|
|
|
|
- .build-env-debian-x86_64
|
|
|
|
- .build-and-test
|
|
|
|
needs:
|
|
|
|
- job: x86_64-debian-container_prep
|
|
|
|
artifacts: false
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
.test-env-debian-lts-aarch64:
|
2021-06-22 02:33:01 +03:00
|
|
|
tags:
|
|
|
|
- kvm-aarch64
|
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .build-env-debian-lts-aarch64
|
2021-06-22 02:33:01 +03:00
|
|
|
- .build-and-test
|
|
|
|
needs:
|
2023-05-17 14:25:16 +03:00
|
|
|
- job: aarch64-debian-lts-container_prep
|
2021-06-22 02:33:01 +03:00
|
|
|
artifacts: false
|
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
.test-env-debian-aarch64:
|
|
|
|
tags:
|
|
|
|
- kvm-aarch64
|
|
|
|
extends:
|
|
|
|
- .build-env-debian-aarch64
|
|
|
|
- .build-and-test
|
|
|
|
needs:
|
|
|
|
- job: aarch64-debian-container_prep
|
|
|
|
artifacts: false
|
|
|
|
|
2021-06-22 00:25:41 +03:00
|
|
|
# Full build, used for testing under KVM.
|
2021-06-22 02:33:01 +03:00
|
|
|
.build-options-full:
|
2021-06-22 12:58:39 +03:00
|
|
|
stage: "Full build and test"
|
2019-10-20 18:19:03 +03:00
|
|
|
variables:
|
|
|
|
MESON_OPTIONS: >
|
2019-11-21 16:06:30 +03:00
|
|
|
-Doptimization=0
|
|
|
|
-Db_coverage=true
|
2019-10-20 18:19:03 +03:00
|
|
|
-Dwerror=true
|
2021-03-03 15:31:54 +03:00
|
|
|
-Dtest-skip-is-failure=true
|
2019-11-21 16:06:30 +03:00
|
|
|
after_script:
|
2021-05-12 14:44:17 +03:00
|
|
|
- ninja -C "$BUILDDIR" coverage-html > "$BUILDDIR/meson-logs/ninja-coverage-html.txt"
|
2021-05-14 13:34:49 +03:00
|
|
|
- ninja -C "$BUILDDIR" coverage-xml
|
2019-10-20 18:19:03 +03:00
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
x86_64-debian-lts-full-build:
|
2021-06-22 02:33:01 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .test-env-debian-lts-x86_64
|
2021-06-22 02:33:01 +03:00
|
|
|
- .build-options-full
|
2023-05-17 15:43:20 +03:00
|
|
|
|
|
|
|
x86_64-debian-full-build:
|
|
|
|
extends:
|
|
|
|
- .test-env-debian-x86_64
|
|
|
|
- .build-options-full
|
2021-12-02 16:51:55 +03:00
|
|
|
artifacts:
|
|
|
|
reports:
|
2022-06-06 21:56:19 +03:00
|
|
|
coverage_report:
|
|
|
|
coverage_format: cobertura
|
|
|
|
path: $BUILDDIR/meson-logs/coverage.xml
|
2021-06-22 02:33:01 +03:00
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
aarch64-debian-lts-full-build:
|
2021-06-22 02:33:01 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .test-env-debian-lts-aarch64
|
2021-06-22 02:33:01 +03:00
|
|
|
- .build-options-full
|
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
aarch64-debian-full-build:
|
|
|
|
extends:
|
|
|
|
- .test-env-debian-aarch64
|
|
|
|
- .build-options-full
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
x86_64-clang-debian-lts-full-build:
|
2021-08-03 15:11:51 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .test-env-debian-lts-x86_64
|
2021-08-03 15:11:51 +03:00
|
|
|
- .build-with-clang
|
|
|
|
- .build-options-full
|
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
x86_64-clang-debian-full-build:
|
|
|
|
extends:
|
|
|
|
- .test-env-debian-x86_64
|
|
|
|
- .build-with-clang
|
|
|
|
- .build-options-full
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
aarch64-clang-debian-lts-full-build:
|
2021-08-03 15:11:51 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .test-env-debian-lts-aarch64
|
2021-08-03 15:11:51 +03:00
|
|
|
- .build-with-clang
|
|
|
|
- .build-options-full
|
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
aarch64-clang-debian-full-build:
|
|
|
|
extends:
|
|
|
|
- .test-env-debian-aarch64
|
|
|
|
- .build-with-clang
|
|
|
|
- .build-options-full
|
|
|
|
|
2021-06-22 00:25:41 +03:00
|
|
|
# Docs should be invariant on all architectures, so we only do it on Debian
|
|
|
|
# x86-64.
|
2021-06-21 23:38:06 +03:00
|
|
|
docs-build:
|
2021-06-22 12:58:39 +03:00
|
|
|
stage: "Other builds"
|
2020-12-02 23:30:34 +03:00
|
|
|
variables:
|
|
|
|
MESON_OPTIONS: >
|
|
|
|
-Dwerror=true
|
|
|
|
-Ddoc=true
|
2021-06-22 00:25:41 +03:00
|
|
|
extends:
|
2023-05-17 15:43:20 +03:00
|
|
|
- .build-env-debian-x86_64
|
2021-06-22 00:25:41 +03:00
|
|
|
- .build-no-test
|
2020-12-02 23:30:34 +03:00
|
|
|
|
2021-06-22 00:25:41 +03:00
|
|
|
# Building without gl-renderer, to make sure this keeps working.
|
2021-06-22 02:22:49 +03:00
|
|
|
.build-options-no-gl:
|
2021-06-22 12:58:39 +03:00
|
|
|
stage: "No-GL build and test"
|
2019-10-20 18:19:03 +03:00
|
|
|
variables:
|
|
|
|
MESON_OPTIONS: >
|
|
|
|
-Dsimple-clients=damage,im,shm,touch,dmabuf-v4l
|
|
|
|
-Drenderer-gl=false
|
|
|
|
-Dremoting=false
|
2020-07-15 12:01:04 +03:00
|
|
|
-Dpipewire=false
|
2019-10-20 18:19:03 +03:00
|
|
|
-Dwerror=true
|
2021-09-12 14:48:41 +03:00
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
x86_64-debian-lts-no-gl-build:
|
2021-06-22 02:22:49 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .test-env-debian-lts-x86_64
|
2021-06-22 02:22:49 +03:00
|
|
|
- .build-options-no-gl
|
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
x86_64-debian-no-gl-build:
|
|
|
|
extends:
|
|
|
|
- .test-env-debian-x86_64
|
|
|
|
- .build-options-no-gl
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
armv7-debian-lts-no-gl-build:
|
2021-06-22 02:53:07 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .build-env-debian-lts-armv7
|
2021-06-22 02:53:07 +03:00
|
|
|
- .build-no-test
|
|
|
|
- .build-options-no-gl
|
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
armv7-debian-no-gl-build:
|
|
|
|
extends:
|
|
|
|
- .build-env-debian-armv7
|
|
|
|
- .build-no-test
|
|
|
|
- .build-options-no-gl
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
armv7-clang-debian-lts-no-gl-build:
|
2021-08-03 15:11:51 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .build-env-debian-lts-armv7
|
2021-08-03 15:11:51 +03:00
|
|
|
- .build-with-clang
|
|
|
|
- .build-no-test
|
|
|
|
- .build-options-no-gl
|
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
armv7-clang-debian-no-gl-build:
|
|
|
|
extends:
|
|
|
|
- .build-env-debian-armv7
|
|
|
|
- .build-with-clang
|
|
|
|
- .build-no-test
|
|
|
|
- .build-options-no-gl
|
|
|
|
|
2023-05-17 14:25:16 +03:00
|
|
|
aarch64-debian-lts-no-gl-build:
|
2021-06-22 02:22:49 +03:00
|
|
|
extends:
|
2023-05-17 14:25:16 +03:00
|
|
|
- .test-env-debian-lts-aarch64
|
2021-06-22 02:22:49 +03:00
|
|
|
- .build-options-no-gl
|
2019-10-20 18:19:03 +03:00
|
|
|
|
2023-05-17 15:43:20 +03:00
|
|
|
aarch64-debian-no-gl-build:
|
|
|
|
extends:
|
|
|
|
- .test-env-debian-aarch64
|
|
|
|
- .build-options-no-gl
|
|
|
|
|
2021-06-21 23:34:43 +03:00
|
|
|
# Expose docs and coverage reports, so we can show users any changes to these
|
|
|
|
# inside their merge requests, letting us check them before merge.
|
|
|
|
#
|
|
|
|
# This does not build the docs or coverage information itself, but just reuses
|
|
|
|
# the docs and coverage information from the x86-64 Debian builds as the
|
|
|
|
# canonical sources of coverage information; the docs themselves should be
|
|
|
|
# invariant across any architecture or OS.
|
2019-11-21 16:06:30 +03:00
|
|
|
docs-and-coverage:
|
2021-07-28 18:54:19 +03:00
|
|
|
extends:
|
2024-06-07 15:45:17 +03:00
|
|
|
- .default-rules
|
2023-05-17 15:43:20 +03:00
|
|
|
- .debian-x86_64
|
2021-06-22 00:25:41 +03:00
|
|
|
- .fdo.suffixed-image@debian
|
2019-11-26 15:14:58 +03:00
|
|
|
stage: pages
|
2021-06-22 02:08:20 +03:00
|
|
|
needs:
|
|
|
|
- job: docs-build
|
|
|
|
artifacts: true
|
2023-05-17 15:43:20 +03:00
|
|
|
- job: x86_64-debian-full-build
|
2021-06-22 02:08:20 +03:00
|
|
|
artifacts: true
|
2021-04-15 23:43:37 +03:00
|
|
|
timeout: 5m
|
2019-11-26 15:14:58 +03:00
|
|
|
script:
|
2021-06-21 23:38:06 +03:00
|
|
|
- mv prefix-weston-docs-build/share/doc/weston Documentation
|
2023-05-17 15:43:20 +03:00
|
|
|
- mv build-weston-x86_64-debian-full-build/meson-logs/coveragereport Test_Coverage
|
2021-03-15 12:20:17 +03:00
|
|
|
- rm Test_Coverage/gcov.css
|
|
|
|
- cp doc/style/lcov-style.css Test_Coverage/gcov.css
|
|
|
|
- cp doc/style/*.png Test_Coverage/
|
2019-11-26 15:14:58 +03:00
|
|
|
- rm -rf build-* prefix-*
|
|
|
|
artifacts:
|
2019-11-21 16:06:30 +03:00
|
|
|
expose_as: 'Documentation preview and test coverage report'
|
2019-11-26 15:14:58 +03:00
|
|
|
paths:
|
|
|
|
- Documentation/
|
2019-11-21 16:06:30 +03:00
|
|
|
- Test_Coverage/
|
2019-11-26 15:14:58 +03:00
|
|
|
|
2021-06-21 23:34:43 +03:00
|
|
|
# Generate the documentation for https://wayland.pages.freedesktop.org/weston/
|
|
|
|
# Anything under public/ is published to this URL.
|
|
|
|
#
|
2024-06-07 15:45:17 +03:00
|
|
|
# Does not inherit .default-rules as it should only run in our default branch for
|
2021-06-21 23:34:43 +03:00
|
|
|
# the upstream repo.
|
2019-06-14 16:00:07 +03:00
|
|
|
pages:
|
2021-07-28 21:42:52 +03:00
|
|
|
extends:
|
2023-05-17 15:43:20 +03:00
|
|
|
- .debian-x86_64
|
2021-06-22 00:25:41 +03:00
|
|
|
- .fdo.suffixed-image@debian
|
2019-06-14 16:00:07 +03:00
|
|
|
stage: pages
|
2021-04-15 23:43:37 +03:00
|
|
|
timeout: 5m
|
2021-06-22 02:08:20 +03:00
|
|
|
needs:
|
|
|
|
- job: docs-build
|
|
|
|
artifacts: true
|
2019-06-14 16:00:07 +03:00
|
|
|
script:
|
2021-06-21 23:38:06 +03:00
|
|
|
- export PREFIX=$(pwd)/prefix-weston-docs-build
|
2019-06-14 16:00:07 +03:00
|
|
|
- mkdir public
|
2019-06-25 17:17:08 +03:00
|
|
|
- cp -R $PREFIX/share/doc/weston/* public/
|
2019-06-14 16:00:07 +03:00
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- public
|
2021-07-31 17:11:35 +03:00
|
|
|
rules:
|
2024-06-05 13:35:06 +03:00
|
|
|
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_PROJECT_PATH == "wayland/weston" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
|
2021-07-31 17:11:35 +03:00
|
|
|
when: on_success
|
|
|
|
- when: never
|