@@ -16,295 +16,8 @@ variables:
16
16
VERBOSE : 1
17
17
18
18
stages :
19
- - mirroring
20
- - routines
21
- - ubertests
22
- - publish
23
19
- hooks
24
20
25
- # ==================== Mirror repo to github (only 'master' branch) ======================
26
-
27
- job_mirror :
28
- stage : mirroring
29
- needs : [ ]
30
- rules :
31
- - if : $TEST==null && $CI_COMMIT_BRANCH == "master"
32
- tags :
33
- - dev-host
34
- script :
35
- - ~/gitsync.sh
36
- cache : {}
37
-
38
- # ==================== .helper to work with documentation ======================
39
- .docs :
40
- tags :
41
- - docker
42
- - privileged
43
- image : registry.gitlab.com/manticoresearch/doc/autodeploy:latest
44
- rules :
45
- - if : $CI_COMMIT_BRANCH == "master"
46
- - if : $CI_COMMIT_BRANCH =~ /^manticore-.*$/
47
- variables :
48
- DOCKER_HOST : tcp://docker:2375/
49
- DOCKER_DRIVER : overlay2
50
- RELEASE_FILENAME : latest_release_version
51
- DOCS_ERRORS_DIR : build/docs/
52
- services :
53
- - docker:18.09.7-dind
54
- before_script :
55
- - export COMMIT_DIR="manual"
56
- - export DEPLOY_TARGET="k8s"
57
- script :
58
- - sh /Deploy/autoupdate.sh $DEPLOY_TARGET $COMMIT_DIR $DOCS_ERRORS_DIR
59
- artifacts :
60
- when : always
61
- paths :
62
- - $DOCS_ERRORS_DIR
63
- cache : { }
64
-
65
- # ==================== Deploy documentation ======================
66
-
67
- docs_deploy :
68
- extends : [ .docs ]
69
- stage : routines
70
- needs : [ ]
71
-
72
- # ==================== .helper build ======================
73
-
74
- .build :
75
- stage : routines
76
- interruptible : true
77
- needs : [ ]
78
- tags :
79
- - docker
80
- image : registry.gitlab.com/manticoresearch/dev/external_toolchain:clang15_cmake3243
81
- variables :
82
- CACHEB : " ../cache"
83
- DIAGNOSTIC : 1 # let's set it by default forever
84
- NO_TESTS : 1
85
- CTEST_CMAKE_GENERATOR : Ninja
86
- CTEST_CONFIGURATION_TYPE : RelWithDebInfo # most common default
87
- DISTR : bionic # our default build for tests
88
- arch : x86_64
89
- boost : boost_nov22
90
- sysroot : roots_nov22
91
- script :
92
- - ctest -VV -S misc/ctest/gltest.cmake --no-compress-output
93
- after_script :
94
- - cd build && mkdir xml
95
- - cp -r Testing/2*/*.xml xml
96
- cache :
97
- paths :
98
- - cache
99
- key : bionic_test
100
- artifacts :
101
- when : on_success
102
- expire_in : 12 hrs
103
- paths :
104
- - build/xml
105
- - build/CMakeFiles/CMake*.log
106
- - build/api/libsphinxclient/testcli
107
- - build/src/indexer
108
- - build/src/indextool
109
- - build/src/searchd
110
- - build/src/tests
111
- - build/src/gtests/gmanticoretest
112
- - build/config/*.c
113
- - build/config/*.h
114
- - build/**/*.gcno
115
-
116
- # ==================== .helper testing ======================
117
-
118
- .tests :
119
- stage : ubertests
120
- needs : [ ]
121
- tags :
122
- - specdocker
123
- image : registry.gitlab.com/manticoresearch/dev/ubertests_public:3201
124
- variables :
125
- DIAGNOSTIC : 1 # let's set it by default forever
126
- CACHEB : " ../cache"
127
- script :
128
- - bash /root/aot.sh
129
- - ctest -V -S misc/ctest/gltest.cmake --no-compress-output
130
- after_script :
131
- - cd build
132
- - cp -r Testing/2*/Test.xml .
133
- - xsltproc -o junit_tests.xml ../misc/junit/ctest2junit.xsl Test.xml
134
- cache :
135
- key : bionic_test
136
- paths :
137
- - cache
138
- artifacts :
139
- expire_in : 12 hrs
140
- when : always
141
- reports :
142
- junit : build/junit_tests.xml
143
- paths :
144
- - build/junit_tests.xml
145
- - build/test/test_*/report.txt
146
- - build/test/error*.txt
147
- - build/test/searchd.log
148
- - $DOCS_EXAMPLES_FILEPATH
149
- retry : 1
150
-
151
-
152
- # ==================== Simple build, then test ======================
153
-
154
- simple_build :
155
- extends : [ .build ]
156
- rules :
157
- - if : $TEST==null && $CI_COMMIT_TITLE !~ /^nocilinux .*$/i && ( $WHAT=='$WHAT' || $WHAT==null )
158
- - if : $TEST =~ /simple/ && ( $WHAT=='$WHAT' || $WHAT==null )
159
- variables :
160
- CTEST_CMAKE_GENERATOR : " Unix Makefiles" # as Ninja fails with coverage
161
- CTEST_CONFIGURATION_TYPE : " Debug"
162
- WITH_COVERAGE : 1
163
-
164
- simple_tests :
165
- extends : [ .tests ]
166
- needs : [ simple_build ]
167
- rules :
168
- - if : $TEST==null && $CI_COMMIT_TITLE !~ /^nocilinux .*$/i && ( $WHAT=='$WHAT' || $WHAT==null )
169
- - if : $TEST =~ /simple/ && ( $WHAT=='$WHAT' || $WHAT==null )
170
- variables :
171
- CTEST_CONFIGURATION_TYPE : " Debug"
172
- WITH_COVERAGE : 1
173
- NO_BUILD : 1
174
-
175
- # ==================== Release build, then test ======================
176
-
177
- release_build :
178
- extends : [ .build ]
179
- rules :
180
- - if : $TEST==null && $CI_COMMIT_TITLE !~ /^nocilinux .*$/i && ( $WHAT=='$WHAT' || $WHAT==null )
181
- - if : $TEST =~ /release/ && ( $WHAT=='$WHAT' || $WHAT==null )
182
- variables :
183
- CMAKE_INTERPROCEDURAL_OPTIMIZATION : 1
184
-
185
- release_tests :
186
- extends : [ .tests ]
187
- needs : [ release_build ]
188
- rules :
189
- - if : $TEST==null && $CI_COMMIT_TITLE !~ /^nocilinux .*$/i && ( $WHAT=='$WHAT' || $WHAT==null )
190
- - if : $TEST =~ /simple/ && ( $WHAT=='$WHAT' || $WHAT==null )
191
- variables :
192
- CTEST_CONFIGURATION_TYPE : " RelWithDebInfo"
193
- NO_BUILD : 1
194
-
195
- # ==================== Windows build, then test ======================
196
-
197
- win_build :
198
- extends : [ .build ]
199
- rules :
200
- - if : $TEST==null && $CI_COMMIT_TITLE !~ /^nociwindows .*$/i && ( $WHAT=='$WHAT' || $WHAT==null )
201
- - if : $TEST =~ /windows/ && ( $WHAT=='$WHAT' || $WHAT==null )
202
- variables :
203
- DISTR : windows
204
- arch : x64
205
- CTEST_CMAKE_GENERATOR : " Ninja Multi-Config"
206
- CTEST_CONFIGURATION_TYPE : Debug
207
- artifacts :
208
- paths :
209
- - build/xml
210
- - build/src/$CTEST_CONFIGURATION_TYPE/indexer.exe
211
- - build/src/$CTEST_CONFIGURATION_TYPE/searchd.exe
212
- - build/src/$CTEST_CONFIGURATION_TYPE/tests.exe
213
- - build/src/gtests/$CTEST_CONFIGURATION_TYPE/gmanticoretest.exe
214
- - build/usr
215
- # Commented out usually need, but not on our dev where everything is installed into system
216
- # - build/src/$CTEST_CONFIGURATION_TYPE/*.dll
217
- # - build/src/gtests/$CTEST_CONFIGURATION_TYPE/*.dll
218
- cache :
219
- key : win_test
220
-
221
- win_tests :
222
- stage : ubertests
223
- needs : [ win_build ]
224
- rules :
225
- - if : $TEST==null && $CI_COMMIT_TITLE !~ /^nociwindows .*$/i && ( $WHAT=='$WHAT' || $WHAT==null )
226
- - if : $TEST =~ /windows/ && ( $WHAT=='$WHAT' || $WHAT==null )
227
- tags :
228
- - windev19
229
- variables :
230
- LIBS_BUNDLE : " x:/bundle"
231
- CACHEB : " x:/cache"
232
- BOOST_ROOT : " x:/boost_1_75_0"
233
- CTEST_CMAKE_GENERATOR : " Visual Studio 16 2019"
234
- CTEST_CONFIGURATION_TYPE : Debug
235
- NO_BUILD : 1
236
- script :
237
- - ' net use x: \\\\VBOXSRV\\shared'
238
- - ctest -V -S misc/ctest/gltest.cmake --no-compress-output
239
- after_script :
240
- - cd build
241
- - cp -r Testing/2*/*.xml xml
242
- artifacts :
243
- expire_in : 12 hrs
244
- when : always
245
- paths :
246
- - build/xml
247
- - build/test/test_*/report.txt
248
- - build/test/error*.txt
249
- - build/test/searchd.log
250
- cache : { }
251
-
252
-
253
- # ==================== Just build FreeBSD 13 ======================
254
-
255
- build_bsd :
256
- extends : [ .build ]
257
- rules :
258
- - if : $TEST==null && $CI_COMMIT_TITLE !~ /^nocifreebsd .*$/i && ( $WHAT=='$WHAT' || $WHAT==null )
259
- - if : $TEST =~ /freebsd/ && ( $WHAT=='$WHAT' || $WHAT==null )
260
- variables :
261
- DISTR : freebsd13
262
- boost : none
263
- script :
264
- - mkdir build && cd build
265
- - ctest -VV -S ../misc/ctest/justbuild.cmake -DCTEST_SOURCE_DIRECTORY=.. --no-compress-output
266
- cache :
267
- key : $DISTR$arch
268
- retry : 1
269
-
270
- # ==================== Publish (push) pipeline results ======================
271
-
272
- # build and upload on regular commits
273
- convert_win_junit :
274
- stage : publish
275
- rules :
276
- - if : ( $WHAT=='$WHAT' || $WHAT==null )
277
- when : always
278
- tags :
279
- - docker
280
- image : registry.gitlab.com/manticoresearch/dev/ubertests_public:3201
281
- needs :
282
- - win_tests
283
- variables :
284
- GIT_STRATEGY : fetch
285
- script :
286
- - xsltproc -o build/junit_tests.xml misc/junit/ctest2junit.xsl build/xml/Test.xml
287
- artifacts :
288
- paths :
289
- - build/junit_tests.xml
290
- reports :
291
- junit : build/junit_tests.xml
292
- cache : {}
293
-
294
- # ==================== Check documentation examples ======================
295
-
296
- check_docs_examples :
297
- extends : [ .docs ]
298
- stage : publish
299
- rules :
300
- - !reference [ .docs, rules ]
301
- - changes :
302
- - " test/**/*"
303
- - " manual/**/*.md"
304
- when : always
305
- needs :
306
- - release_tests
307
-
308
21
# ==================== Run secondary pipeline ======================
309
22
310
23
deploy_hook :
@@ -317,34 +30,3 @@ deploy_hook:
317
30
when : on_success
318
31
trigger :
319
32
include : dist/gitlab-release.yml
320
- needs :
321
- - job : simple_tests
322
- artifacts : false
323
- - job : win_tests
324
- artifacts : false
325
- - job : release_tests
326
- artifacts : false
327
-
328
- # ==================== Manually redirect to our site ======================
329
-
330
- .pages :
331
- stage : routines
332
- needs : [ ]
333
- rules :
334
- - when : manual
335
- allow_failure : true
336
- tags :
337
- - docker
338
- variables :
339
- GIT_STRATEGY : none
340
- REDIR_URL : " https://manual.manticoresearch.com/dev/"
341
- script :
342
- - mkdir .public
343
- - cd .public
344
- - echo "<!DOCTYPE html><html><head><meta http-equiv='refresh' content = '0; url = $REDIR_URL' /></head></html>" >> index.html
345
- - cd -
346
- - mv .public public
347
- artifacts :
348
- paths :
349
- - public
350
- cache : { }
0 commit comments