blob: 65dd0d2eb42131404c1c1eefe717f443ba5a920c (
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
123
|
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0:
include:
# Arch container builder template
- project: 'freedesktop/ci-templates'
ref: 6f86b8bcb0cd5168c32779c4fea9a893c4a0c046
file:
- '/templates/arch.yml'
# global variables to be used by most/all jobs.
variables:
FDO_UPSTREAM_REPO: 'xorg/proto/xorgproto'
# Changing the tag will rebuild the container images. The value is just a
# string, but we use the date for human benefits.
FDO_DISTRIBUTION_TAG: '2021-02-24.0'
stages:
- prep
- check
- build
- test
container-prep:
extends:
- .fdo.container-build@arch
stage: prep
variables:
GIT_STRATEGY: none
# minimal set of packages required to build and install
BASE_PACKAGES: 'meson ninja gcc autoconf automake make xorg-util-macros pkgconf'
# extra packages we need for various tests
EXTRA_PACKAGES: 'git libevdev python python-libevdev python-black'
FDO_DISTRIBUTION_PACKAGES: $BASE_PACKAGES $EXTRA_PACKAGES
meson:
extends:
- .fdo.distribution-image@arch
stage: build
parallel:
matrix:
- MESON_OPTIONS: ['', '-Dlegacy=true']
script:
- mkdir -p ../_inst
- meson builddir --prefix="$PWD/../_inst" $MESON_OPTIONS
- meson configure builddir
- ninja -C builddir test
- ninja -C builddir install
autotools:
extends:
- .fdo.distribution-image@arch
stage: build
parallel:
matrix:
- CONFIGURE_OPTIONS: ['', '--enable-legacy']
script:
- mkdir -p ../_inst _build
- autoreconf -ivf
- pushd _build
- ../configure --prefix="$PWD/../_inst" $CONFIGURE_OPTIONS
- make check
- make install
- make distcheck
- mv xorgproto*.tar.gz ..
- popd
artifacts:
paths:
- xorgproto*.tar.gz
meson from tarball:
extends:
- .fdo.distribution-image@arch
stage: test
script:
- mkdir -p _tarball_build
- tar xf xorgproto-*.tar.gz -C _tarball_build
- pushd _tarball_build/xorgproto-*
- meson builddir
- meson configure builddir
- ninja -C builddir test
needs:
- autotools
variables:
GIT_STRATEGY: none
compare meson and autotools:
extends:
- .fdo.distribution-image@arch
stage: test
script:
- mkdir -p $PWD/_meson_inst
- mkdir -p $PWD/_autotools_inst
# the prefix ends up in the pkgconfig files, so we use a symlink
# to use the same --prefix for meson and autotools
- ln -sf $PWD/_meson_inst $PWD/_inst
- meson builddir
- meson configure builddir --prefix=$PWD/_inst
- ninja -C builddir install
- rm $PWD/_inst
- ln -sf $PWD/_autotools_inst $PWD/_inst
- autoreconf -ivf
# meson doesn't build the specs yet
- ./configure --prefix=$PWD/_inst --disable-specs
- make && make install
- diff --brief --recursive $PWD/_meson_inst $PWD/_autotools_inst
check evdev keysyms:
extends:
- .fdo.distribution-image@arch
stage: test
script:
- ./scripts/keysym-generator.py --header=include/X11/XF86keysym.h verify
check formatting:
extends:
- .fdo.distribution-image@arch
stage: check
script:
- black scripts/keysym-generator.py
- git diff --exit-code || (echo "Please run Black against the Python script" && false)
only:
changes:
- scripts/keysym-generator.py
|