ci: update to GTK 4 when available
[platform/upstream/libinput.git] / .gitlab-ci / config.yml
1 # This file contains the configuration for the gitlab ci.
2 # See the .gitlab-ci/generate-gitlab-ci.py file for more info
3 #
4
5 # We're happy to rebuild all containers when one changes.
6 .default_tag: &default_tag '2021-07-30.0'
7
8 distributions:
9   - name: fedora
10     tag: *default_tag
11     versions:
12       - '33'
13       - '34' # last is picked for qemu
14     want_qemu: true
15     use_for_custom_build_tests: true
16     use_for_qemu_tests: true
17     packages:
18       - git-core
19       - gcc
20       - gcc-c++
21       - pkgconf-pkg-config
22       - meson
23       - check-devel
24       - libudev-devel
25       - libevdev-devel
26       - doxygen
27       - graphviz
28       - python3-sphinx
29       - python3-recommonmark
30       - python3-sphinx_rtd_theme
31       - python3-pytest-xdist
32       - libwacom-devel
33       - cairo-devel
34       - gtk4-devel
35       - glib2-devel
36       - mtdev-devel
37       - diffutils
38       - valgrind        # for the valgrind run, optional
39   - name: debian
40     tag: *default_tag
41     versions:
42       - 'stable'
43     packages:
44       - git
45       - gcc
46       - g++
47       - pkg-config
48       - meson
49       - check
50       - libudev-dev
51       - libevdev-dev
52       - doxygen
53       - graphviz
54       - python3-sphinx
55       - python3-recommonmark
56       - python3-sphinx-rtd-theme
57       - python3-pytest-xdist
58       - libwacom-dev
59       - libcairo2-dev
60       - libgtk-3-dev
61       - libglib2.0-dev
62       - libmtdev-dev
63       - curl            # for the coverity job
64   - name: ubuntu
65     tag: *default_tag
66     versions:
67       - '20.10'
68       - '21.04'
69     packages:
70       - git
71       - gcc
72       - g++
73       - pkg-config
74       - meson
75       - check
76       - libudev-dev
77       - libevdev-dev
78       - doxygen
79       - graphviz
80       - python3-sphinx
81       - python3-recommonmark
82       - python3-sphinx-rtd-theme
83       - python3-pytest-xdist
84       - libwacom-dev
85       - libcairo2-dev
86       - libgtk-3-dev
87       - libglib2.0-dev
88       - libmtdev-dev
89   - name: arch
90     tag: *default_tag
91     versions:
92       - 'rolling'
93     packages:
94       - git
95       - gcc
96       - pkgconfig
97       - meson
98       - check
99       - libsystemd
100       - libevdev
101       - doxygen
102       - graphviz
103       - python-sphinx
104       - python-recommonmark
105       - python-sphinx_rtd_theme
106       - python-pytest-xdist
107       - libwacom
108       - gtk4
109       - mtdev
110       - diffutils
111   - name: alpine
112     tag: *default_tag
113     versions:
114       - 'latest'
115     packages:
116       - git
117       - gcc build-base
118       - pkgconfig
119       - meson
120       - check-dev
121       - eudev-dev
122       - libevdev-dev
123       - libwacom-dev
124       - cairo-dev
125       - gtk4.0-dev
126       - mtdev-dev
127       - bash
128     build:
129       extra_variables:
130         - "MESON_ARGS: '-Ddocumentation=false' # alpine does not have python-recommonmark"
131         # We don't run the tests on alpine. The litest-selftest fails
132         # for any tcase_add_exit_test/tcase_add_test_raise_signal
133         # but someone more invested in musl will have to figure that out.
134         - "MESON_TEST_ARGS: '' # litest-selftest fails on musl"
135   - name: freebsd
136     tag: *default_tag
137     want_qemu: true
138     skip_container: true
139     versions:
140       - '13.0'
141     packages:
142       - git
143       - pkgconf
144       - meson
145       - libepoll-shim
146       - libudev-devd
147       - libevdev
148       - libwacom
149       - gtk3
150       - libmtdev
151       - bash
152       - wayland
153     build:
154       extra_variables:
155         - "MESON_ARGS: '-Dtests=false -Ddocumentation=false' # doxygen drags down too many deps"
156         # We don't run the tests on FreeBSD, someone would have to fix the
157         # test suite to work on BSD first.
158         - "MESON_TEST_ARGS: '' # test suite doesn't work on BSD yet"
159
160 test_suites:
161   - name: touchpad
162     suites:
163       - touchpad
164   - name: tap
165     suites:
166       - touchpad-tap
167   - name: touchpad-buttons
168     suites:
169       - touchpad-buttons
170   - name: tablet
171     suites:
172       - tablet
173   - name: gestures-device
174     suites:
175       - gestures
176       - device
177   - name: backends
178     suites:
179       - path
180       - udev
181   - name: misc
182     suites:
183       - log
184       - misc
185       - quirks
186   - name: other devices
187     suites:
188       - keyboard
189       - pad
190       - switch
191       - trackball
192       - trackpoint
193       - totem
194       - touch
195   - name: pointer
196     suites:
197       - pointer