blob: b49268cf4ebca96343d6da6b6a88faf0af31d3cf (
plain)
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0 filetype=yaml:
#
# This CI uses the freedesktop.org ci-templates.
# Please see the ci-templates documentation for details:
# https://freedesktop.pages.freedesktop.org/ci-templates/
.templates_sha: &template_sha 16f790f93f893394b70d7048fb0e8a981ceaa3c5 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
include:
- project: 'freedesktop/ci-templates'
ref: *template_sha
file: '/templates/debian.yml'
- project: 'freedesktop/ci-templates'
ref: *template_sha
file: '/templates/ci-fairy.yml'
- template: Security/SAST.gitlab-ci.yml
stages:
- prep
- install xserver
- build
- test
variables:
FDO_UPSTREAM_REPO: 'xorg/test/xorg-integration-tests'
FDO_DISTRIBUTION_TAG: '2022-07-23.0' # change this to rebuild the images
FDO_DISTRIBUTION_VERSION: 'stable'
FDO_DISTRIBUTION_PACKAGES: 'git ca-certificates meson g++ pkgconf libpixman-1-dev xserver-xorg-input-wacom libx11-dev libxi-dev libxext-dev libxrandr-dev libxtst-dev libxxf86dga-dev libevdev-dev libevemu-dev'
MESON_BUILDDIR: 'build dir'
NINJA_ARGS: ''
MESON_ARGS: ''
#
# Verify that commit messages are as expected
#
check-commits:
extends:
- .fdo.ci-fairy
stage: prep
script:
- ci-fairy check-commits --junit-xml=results.xml
except:
- master@xorg/test/xorg-integration-tests
variables:
GIT_DEPTH: 100
artifacts:
reports:
junit: results.xml
allow_failure: true
#
# Verify that the merge request has the allow-collaboration checkbox ticked
#
check-merge-request:
extends:
- .fdo.ci-fairy
stage: test
script:
- ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml
artifacts:
when: on_failure
reports:
junit: results.xml
allow_failure: true
# We're using the X Server's meson build image as base image. This way we have
# all the dependencies for building the actual server already installed and
# don't need to worry about those.
#
# It'd be better to sync this with the server properly because any tag changes
# in the server may result in this image disappearing. But for now this will do.
container-prep:
extends:
- .fdo.container-build@debian
stage: prep
variables:
GIT_STRATEGY: none
FDO_BASE_IMAGE: registry.freedesktop.org/xorg/xserver/debian/bullseye-slim:2022-07-01
xserver-build:
extends:
- .fdo.distribution-image@debian
stage: install xserver
script:
- export INSTDIR="$PWD/_inst"
- git clone https://gitlab.freedesktop.org/xorg/lib/libxcvt.git --depth 1 --branch=libxcvt-0.1.0
- pushd libxcvt > /dev/null
- meson _build
- ninja -j${FDO_CI_CONCURRENT:-4} -C _build install
- popd > /dev/null
- git clone --depth=1 https://gitlab.freedesktop.org/xorg/xserver
- pushd xserver > /dev/null
- meson -Dc_args="-fno-common" -Dprefix="$INSTDIR" $MESON_OPTIONS _build
- ninja -j${FDO_CI_CONCURRENT:-4} -C _build install
- popd > /dev/null
- git clone --depth=1 https://gitlab.freedesktop.org/xorg/lib/libxi --branch=libXi-1.7.99.2
- pushd libxi > /dev/null
- autoreconf -fi
- mkdir build
- pushd build > /dev/null
- ../configure --prefix="$INSTDIR"
- make all -j${FDO_CI_CONCURRENT:-4}
- make install -j${FDO_CI_CONCURRENT:-4}
- popd > /dev/null
- popd > /dev/null
variables:
MESON_OPTIONS: '-Dxwayland=false -Dxephyr=false -Dxvfb=false -Ddmx=false'
artifacts:
paths:
- _inst
build:
extends:
- .fdo.distribution-image@debian
stage: build
script:
- export INSTDIR="$PWD/_inst"
- export PKG_CONFIG_PATH=$(find $INSTDIR/ -name '*.pc' -printf "%h:")
- meson "$MESON_BUILDDIR"
- ninja -C "$MESON_BUILDDIR"
|