This repository has been archived by the owner on Aug 19, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.gitlab-ci.yml
93 lines (84 loc) · 2.84 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# DEBIAN_TAG is the tag of the docker image used for the build jobs. If the
# image doesn't exist yet, the docker-image stage generates it.
#
# In order to generate a new image, one should generally change the tag.
# While removing the image from the registry would also work, that's not
# recommended except for ephemeral images during development: Replacing an
# image after a significant amount of time might pull in newer versions of
# gcc/clang or other packages, which might break the build with older commits
# using the same tag.
#
# After merging a change resulting in generating a new image to the main
# repository, it's recommended to remove the image from the source repository's
# container registry, so that the image from the main repository's registry
# will be used there as well. You can manage your images on your fork of:
# https://gitlab.freedesktop.org/xorg/xserver/container_registry
variables:
UPSTREAM_REPO: xorg/xserver
DEBIAN_VERSION: testing-slim
DEBIAN_EXEC: 'bash .gitlab-ci/debian-install.sh'
DEBIAN_TAG: "2020-01-06"
IMAGE_LOCAL: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG"
include:
- project: 'wayland/ci-templates'
ref: b7030c2cd0d6ccc5f6d4f8299bafa4daa9240d71
file: '/templates/debian.yml'
stages:
- docker-image
- build-and-test
.ci-run-policy:
# Retry jobs after runner system failures
retry:
max: 2
when:
- runner_system_failure
# Cancel CI run if a newer commit is pushed to the same branch
interruptible: true
debian-testing:
extends:
- .debian@container-ifnot-exists
- .ci-run-policy
stage: docker-image
.common-build-and-test:
extends: .ci-run-policy
stage: build-and-test
image: $IMAGE_LOCAL
artifacts:
when: on_failure
paths:
- build/test/piglit-results/
variables:
CCACHE_COMPILERCHECK: content
CCACHE_DIR: /cache/xserver/cache
LC_ALL: C.UTF-8
before_script:
- export CCACHE_BASEDIR="$PWD"
- export PATH="/usr/lib/ccache:$PATH"
- ccache --show-stats
after_script:
- ccache --show-stats
autotools:
extends: .common-build-and-test
script:
- mkdir build/
- cd build/
- ../autogen.sh --prefix=/usr CFLAGS="-fno-common"
- make -j4 distcheck
- PIGLIT_DIR=/root/piglit XTEST_DIR=/root/xts make -j4 check
- cd ..
- .gitlab-ci/manpages-check
meson:
extends: .common-build-and-test
variables:
PIGLIT_DIR: /root/piglit
XTEST_DIR: /root/xts
script:
- meson -Dc_args="-fno-common" -Dprefix=/usr -Dxephyr=true -Dwerror=true $MESON_EXTRA_OPTIONS build/
- ninja -j4 -C build/ install
- ninja -j4 -C build/ test
- .gitlab-ci/manpages-check
meson-noglamor:
extends: meson
variables:
MESON_EXTRA_OPTIONS: >
-Dglamor=false