-
-
Notifications
You must be signed in to change notification settings - Fork 48
/
.gitlab-ci.yml
241 lines (224 loc) · 9.44 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
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
# SPDX-FileCopyrightText: 2020 Volker Krause <[email protected]>
# SPDX-FileCopyrightText: 2022-2024 Stefan Gerlach <[email protected]>
# SPDX-License-Identifier: CC0-1.0
# full path: https://invent.kde.org/sysadmin/ci-utilities/-/tree/master/gitlab-templates
include:
- project: sysadmin/ci-utilities
file:
# reuse-lint fails
# - /gitlab-templates/reuse-lint.yml
- /gitlab-templates/clang-format.yml
# - /gitlab-templates/linux.yml
# - /gitlab-templates/windows.yml
- /gitlab-templates/linux-qt6.yml
- /gitlab-templates/windows-qt6.yml
# - /gitlab-templates/freebsd.yml
- /gitlab-templates/freebsd-qt6.yml
### DEPLOY
# - /gitlab-templates/craft-appimage.yml
- /gitlab-templates/craft-appimage-qt6.yml
# see below for flatpak variables
- /gitlab-templates/flatpak.yml
# - /gitlab-templates/craft-windows-x86-64.yml
- /gitlab-templates/craft-windows-x86-64-qt6.yml
# - /gitlab-templates/craft-macos-x86-64.yml
# - /gitlab-templates/craft-macos-arm64.yml
- /gitlab-templates/craft-macos-x86-64-qt6.yml
- /gitlab-templates/craft-macos-arm64-qt6.yml
# only for publishing in the MS Store
# - /gitlab-templates/craft-windows-appx-qt5.yml
# - /gitlab-templates/craft-windows-appx-qt6.yml
# MinGW fails linking tests due to undefined references to GSL functions
# - /gitlab-templates/craft-windows-mingw64.yml
# - /gitlab-templates/craft-windows-mingw64-qt6.yml
#craft_appimage_qt515_x86_64:
# rules:
# - if: '$CI_COMMIT_REF_NAME == "master"'
# when: manual
# allow_failure: true
craft_appimage_qt6_x86_64:
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
when: manual
allow_failure: true
#craft_windows_qt515_x86_64:
# rules:
# - if: '$CI_COMMIT_REF_NAME == "master"'
# when: manual
# allow_failure: true
craft_windows_qt6_x86_64:
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
when: manual
allow_failure: true
#craft_macos_x86_64:
# rules:
# - if: '$CI_COMMIT_REF_NAME == "master"'
# when: manual
# allow_failure: true
craft_macos_qt6_x86_64:
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
when: manual
allow_failure: true
#craft_macos_arm64:
# rules:
# - if: '$CI_COMMIT_REF_NAME == "master"'
# when: manual
# allow_failure: true
craft_macos_qt6_arm64:
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
when: manual
allow_failure: true
clang_format:
stage: test
image: debian:bookworm
before_script:
- apt-get update
- apt-get install --yes --no-install-recommends git clang-format-13
script: |
./cl-fmt.sh
git diff --exit-code
# see above
flatpak:
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
when: manual
allow_failure: true
variables:
QT_TEST_TIMEOUT_FUNCTION: "600"
########################################################
# test builds (prepend '.' to temporary disable):
## Ubuntu 22.04 min (Debug)
## Ubuntu 22.04 full (Release)
## Fedora 38 min (Debug)
## Fedora 38 full (Release)
## OS 15.5 min (Release)
## OS 15.5 full (Debug)
## Tumbleweed full (Debug)
.ubuntu_22.04_min:
stage: build
image: ubuntu:22.04
only:
- merge_requests
- master
before_script:
- apt update
- apt install --yes eatmydata
- eatmydata apt install --yes --no-install-recommends locales-all ninja-build git cmake make g++ extra-cmake-modules xvfb libqt5svg5-dev libkf5kio-dev libkf5archive-dev libkf5crash-dev libkf5newstuff-dev libkf5doctools-dev libkf5textwidgets-dev kuserfeedback-dev bison libgsl-dev pkg-config ca-certificates zlib1g-dev qtbase5-private-dev
script:
- mkdir -p build && cd build
- cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja ..
- ninja
# 1 test fails: FAIL! : SpreadsheetTest::testFlatten01() Received a fatal error.
# - xvfb-run ctest -T Test --output-on-failure
.ubuntu_22.04_full:
stage: build
image: ubuntu:22.04
only:
# - merge_requests
- master
before_script:
- apt update
- apt install --yes eatmydata
- eatmydata apt install --yes --no-install-recommends locales-all ninja-build git cmake g++ extra-cmake-modules xvfb libqt5svg5-dev libkf5kio-dev libkf5archive-dev libkf5crash-dev libkf5newstuff-dev libkf5doctools-dev libkf5textwidgets-dev kuserfeedback-dev bison libgsl-dev libkf5parts-dev libkf5syntaxhighlighting-dev cantor libcantor-dev libpoppler-qt5-dev libfftw3-dev libreadstat-dev liborigin2-dev libhdf5-dev libnetcdf-dev libqt5serialport5-dev libcfitsio-dev libcerf-dev liblz4-dev libmatio-dev libmarkdown2-dev libspectre-dev qtbase5-private-dev ca-certificates
script:
- mkdir -p build && cd build
- cmake -DCMAKE_BUILD_TYPE=Release -G Ninja ..
- ninja
# 1 test fails: FAIL! : SpreadsheetTest::testFlatten01() Received a fatal error.
# - xvfb-run ctest -T Test --output-on-failure
.fedora_38_min:
stage: build
image: fedora:38
only:
- merge_requests
- master
before_script:
- dnf -y --setopt=install_weak_deps=False install git gcc-c++ make bison shared-mime-info cmake ninja-build xorg-x11-server-Xvfb mesa-dri-drivers wayland-devel gsl-devel qt5-qtbase-devel qt5-qtsvg-devel qt5-qtwayland-devel extra-cmake-modules kf5-ki18n-devel kf5-kio-devel kf5-knewstuff-devel kf5-karchive-devel kf5-kcrash-devel kf5-kdoctools-devel kf5-kiconthemes-devel kf5-ktextwidgets-devel kuserfeedback-devel zlib-devel qt5-qtbase-private-devel
script:
- mkdir -p build && cd build
# readstat disabled until fixed for GCC 13
# dbc_parser fails with GCC 13 atm (-DLOCAL_DBC_PARSER=ON -DLOCAL_VECTOR_BLF=ON)
- cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_READSTAT=OFF -G Ninja ..
- ninja
# FAIL! : ParserTest::testLocale() Compared doubles are not the same (fuzzy compare)
# Actual (parse(qPrintable(expr.first), "de_DE")): nan
# Expected (expr.second) : 1
# FAIL! : SpreadsheetTest::testFlatten01() Received a fatal error.
# - xvfb-run ctest -T Test --output-on-failure
.fedora_38_full:
stage: build
image: fedora:38
only:
# - merge_requests
- master
before_script:
- dnf -y --setopt=install_weak_deps=False install git gcc-c++ make bison shared-mime-info cmake ninja-build xorg-x11-server-Xvfb mesa-dri-drivers wayland-devel gsl-devel qt5-qtbase-devel qt5-qtsvg-devel qt5-qtwayland-devel extra-cmake-modules kf5-ki18n-devel kf5-kio-devel kf5-knewstuff-devel kf5-karchive-devel kf5-kcrash-devel kf5-kdoctools-devel kf5-kiconthemes-devel kf5-ktextwidgets-devel kuserfeedback-devel kf5-kparts-devel kf5-syntax-highlighting-devel cantor-devel poppler-qt5-devel libspectre-devel liborigin-devel fftw3-devel netcdf-devel qt5-qtserialport-devel cfitsio-devel libcerf-devel lz4-devel matio-devel discount qt5-qtbase-private-devel
script:
- mkdir -p build && cd build
# readstat disabled until fixed for GCC 13
# dbc_parser fails with GCC 13 atm (-DLOCAL_DBC_PARSER=ON -DLOCAL_VECTOR_BLF=ON)
- cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_READSTAT=OFF -G Ninja ..
- ninja
# see fedora_38_min
# - xvfb-run ctest -T Test --output-on-failure
.leap_15.5_min:
stage: build
image: opensuse/leap:15.5
only:
- merge_requests
- master
before_script:
- zypper ref
- zypper --non-interactive install --recommends -t pattern devel_qt5 devel_kde_frameworks
# Mesa-libEGL1 xvfb-run libwayland-egl1 for tests (not working)
- zypper in -y gsl-devel ninja libQt5Gui-private-headers-devel kdoctools-devel
script:
- mkdir -p build && cd build
# readstat disabled until fixed for GCC 13
# could not find git for clone of dbc_parser_cpp-populate (-DLOCAL_DBC_PARSER=ON -DLOCAL_VECTOR_BLF=ON)
- cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_READSTAT=OFF -G Ninja ..
- ninja
# libEGL warning: DRI2: failed to create any config
# - xvfb-run ctest -T Test --output-on-failure
.leap_15.5_full:
stage: build
image: opensuse/leap:15.5
only:
# - merge_requests
- master
before_script:
- zypper ref
- zypper --non-interactive install --recommends -t pattern devel_qt5 devel_kde_frameworks
# readstat-devel in Science repo only, see leap_15.5_min for tests
- zypper in -y gsl-devel ninja libQt5Gui-private-headers-devel kdoctools-devel kuserfeedback-devel liborigin-devel cantor-devel fftw3-devel hdf5-devel netcdf-devel cfitsio-devel libcerf-devel liblz4-devel libmatio-devel discount
script:
- mkdir -p build && cd build
# readstat disabled until fixed for GCC 13
# could not find git for clone of dbc_parser_cpp-populate (-DLOCAL_DBC_PARSER=ON -DLOCAL_VECTOR_BLF=ON)
- cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_READSTAT=OFF -G Ninja ..
- ninja
# libEGL warning: DRI2: failed to create any config
# - xvfb-run ctest -T Test --output-on-failure
.tumbleweed_full:
stage: build
image: opensuse/tumbleweed
only:
# - merge_requests
- master
before_script:
- zypper ref
- zypper in -y --force-resolution xvfb-run
- zypper --non-interactive install --recommends -t pattern devel_qt5 devel_kde_frameworks
# readstat-devel in Science repo only
- zypper in -y gsl-devel ninja Mesa-libEGL1 libwayland-egl1 kuserfeedback-devel liborigin-devel cantor-devel fftw3-devel hdf5-devel netcdf-devel cfitsio-devel libcerf-devel liblz4-devel libmatio-devel discount libQt5Gui-private-headers-devel
script:
- mkdir -p build && cd build
# readstat disabled until fixed for GCC 13
# Vector BLF fails compiling (<cstdint> missing)
- cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_READSTAT=OFF -G Ninja ..
- ninja
# libEGL warning: DRI2: failed to create any config
# - xvfb-run ctest -T Test --output-on-failure