forked from gladk/trunk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
577 lines (514 loc) · 19.9 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
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
# The previously used image:
# image: registry.gitlab.com/yade-dev/docker-yade
#
# Five new images:
# image: registry.gitlab.com/yade-dev/docker-yade:ubuntu16.04
# image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04
# image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04_nogui
# image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04_foam
# image: registry.gitlab.com/yade-dev/docker-yade:debian-stretch
# image: registry.gitlab.com/yade-dev/docker-yade:debian-buster
# image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
# image: registry.gitlab.com/yade-dev/docker-yade:suse15
#
# Useful link to validator: https://gitlab.com/yade-dev/trunk/-/ci/lint
stages:
- build
- test
- pages
- deb
.gitlab_runner_retry_template: &gitlab_runner_retry_definition
retry:
max: 2
when:
- runner_system_failure
- stuck_or_timeout_failure
- unknown_failure
# If you want to compile everything also on merge_request, change this template.
.plaftorms_template: &platforms_definition
<<: *gitlab_runner_retry_definition
only:
- master
- merge_request
# stage: cmake uses ccache for faster compilation. ccache works only with -DCHUNKSIZE=1
# Important: to get ccache to work an external volume must be mounted by gitlab-runner (in config file: /etc/gitlab-runner/config.toml)
# into docker directory /root/.ccache. By default in /etc/gitlab-runner/config.toml there is already this line:
# volumes = ["/cache"]
# it must be replaced with:
# volumes = ["/cache","/home/docker/ccache:/root/.ccache:rw"]
# where /home/docker/ccache is the directory in the host with write access.
# See also : https://gitlab.com/gitlab-org/gitlab-runner/blob/master/docs/configuration/advanced-configuration.md#example-2-mount-a-host-directory-as-a-data-volume
# Perhaps two more will added later
# 1.4. only: tags Perhaps creating tags would trigger a build, e.g. tagging a new release?
# 1.5. only: schedules For scheluded pipelines. Perhaps it will be e.g. for https://gitlab.com/yade-dev/trunk/issues/58
# It is possible to send an environment variable to the pipeline from the schedule. So here maybe a selection of
# what .deb package to build could be performed using an env variable.
# in merge_request use the faster linker: ld.gold. We save 2 minutes on every build.
# in master use the regular linker: ld.bfd. Very rarely we might encounter linker errors. It's worth the faster build in merge_request.
.make_template: &make_definition
<<: *platforms_definition
stage: build
script:
- export GCC_COLORS="error=01;31:warning=01;35:note=01;36:range1=04;32:range2=04;34:locus=93:quote=07;96:fixit-insert=92:fixit-delete=91:diff-filename=01;91:diff-hunk=33:diff-delete=31:diff-insert=32"
- export CXXFLAGS="-fdiagnostics-color=always $CXXFLAGS"
- echo $CXXFLAGS
- mkdir build && cd build
- echo $EXTRA_CMAKE_ARGS
- cmake -DSUFFIX=-ci -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=../install $EXTRA_CMAKE_ARGS -DPYTHON_VERSION=3 -DDISABLE_SAVE_TEMPS=1 ..
- ccache -s
- export LINK_GOLD=$(case $CI_PIPELINE_SOURCE in "merge_request_event") echo "20" ;; *) echo "10";; esac)
- export LINK_REGULAR=$(case $CI_PIPELINE_SOURCE in "merge_request_event") echo "10" ;; *) echo "20";; esac)
- ld --version
- update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" $LINK_GOLD
- update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" $LINK_REGULAR
- ld --version
# 4pak has 64cores 256GB RAM, and has concurrent = 5 ← amount of simultaneous gitlab jobs
# 6pak has 48cores 128GB RAM, and has concurrent = 3 , but 6pak must have a little smaller load than the maximum
# 7pak has 48cores 128GB RAM, and has concurrent = 4
# The goal is to maximize effciency while at the same time the occasionall very heavy jobs (recompilation where ccache can't help) must not bring down the server to halt.
# So let's assume that JOBSUM*concurrent < 1.3*cores and examine how this works out.
# Current measurements indicate that non-ccached recompilation full CI job is 34 minutes, while ccached one can be as low as 10 minutes.
- export JOBSNUM=$(case $CI_RUNNER_DESCRIPTION in
"y4pak") echo "17" ;;
"c4pak") echo "17" ;;
"y6pak") echo "19" ;;
"c6pak") echo "19" ;;
"y7pak") echo "16" ;;
"c7pak") echo "16" ;;
"yade-runner") echo "12" ;;
"yade-runner-01") echo "1" ;;
*) echo "8";;
esac)
- echo $JOBSNUM
- echo "max_size = 200.0G" > ~/.ccache/ccache.conf
- echo $SKIP_TEST
- if [[ ${SKIP_TEST} == "SKIP_TEST" ]] ; then echo -e "\n\e[93m===\nSkipping this build, because it's a WIP merge request.\n===\e[0m\n"; else make install -j $JOBSNUM; fi
- make clean
- ccache -s
- cd ..
- if [[ ${TESTS_AFTER_MAKE} == "TESTS_AFTER_MAKE" ]] ; then install/bin/yade-ci --test ; fi
- if [[ ${TESTS_AFTER_MAKE} == "TESTS_AFTER_MAKE" ]] ; then install/bin/yade-ci --check; fi
- if [[ ${TESTS_AFTER_MAKE} == "TESTS_AFTER_MAKE" ]] ; then xvfb-run -a -s "-screen 0 1600x1200x16" scripts/checks-and-tests/gui/testGui.sh; fi
- cd build
- if [[ ${TESTS_AFTER_MAKE} == "TESTS_AFTER_MAKE" ]] ; then xvfb-run -s "-screen 0 1600x1200x24" make doc; fi
tags:
- fast
.artifacts_template: &artifacts_definition
artifacts:
paths:
- install
expire_in: 2 weeks
# 2.1 build stage: ubuntu 16.04
make_16_04:
<<: *make_definition
<<: *artifacts_definition
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu16.04
make_18_04:
<<: *make_definition
artifacts:
paths:
- install
- build
expire_in: 2 weeks
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04
make_stretch:
<<: *make_definition
<<: *artifacts_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-stretch
make_buster:
<<: *make_definition
<<: *artifacts_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-buster
make_bullseye:
<<: *make_definition
<<: *artifacts_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
make_no_mpi:
<<: *make_definition
<<: *artifacts_definition
before_script:
# there can be only one before_script:, so the line below cannot be in a separate template
- if [[ ${CI_MERGE_REQUEST_TITLE:0:4} == "WIP:" ]] ; then export SKIP_TEST="SKIP_TEST"; else echo "non-WIP merge request detected"; fi
- export EXTRA_CMAKE_ARGS="-DENABLE_MPI=OFF $EXTRA_CMAKE_ARGS"
- echo $EXTRA_CMAKE_ARGS
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
make_no_vtk:
<<: *make_definition
<<: *artifacts_definition
before_script:
# there can be only one before_script:, so the line below cannot be in a separate template
- if [[ ${CI_MERGE_REQUEST_TITLE:0:4} == "WIP:" ]] ; then export SKIP_TEST="SKIP_TEST"; else echo "non-WIP merge request detected"; fi
- export EXTRA_CMAKE_ARGS="-DENABLE_VTK=OFF $EXTRA_CMAKE_ARGS"
- echo $EXTRA_CMAKE_ARGS
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
make_debug:
<<: *make_definition
artifacts:
when: always
paths:
- screenshots
before_script:
# there can be only one before_script:, so the line below cannot be in a separate template
- if [[ ${CI_MERGE_REQUEST_TITLE:0:4} == "WIP:" ]] ; then export SKIP_TEST="SKIP_TEST"; else export TESTS_AFTER_MAKE="TESTS_AFTER_MAKE"; fi
- export EXTRA_CMAKE_ARGS="-DDEBUG=ON $EXTRA_CMAKE_ARGS"
- echo $EXTRA_CMAKE_ARGS
- export CXXFLAGS="-O2 $CXXFLAGS"
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
make_asan:
<<: *make_definition
before_script:
# there can be only one before_script:, so the line below cannot be in a separate template
- if [[ ${CI_MERGE_REQUEST_TITLE:0:4} == "WIP:" ]] ; then export SKIP_TEST="SKIP_TEST"; else export TESTS_AFTER_MAKE="TESTS_AFTER_MAKE"; fi
- export EXTRA_CMAKE_ARGS="-DENABLE_USEFUL_ERRORS=0 -DENABLE_ASAN=1 $EXTRA_CMAKE_ARGS"
- echo $EXTRA_CMAKE_ARGS
- export ASAN_OPTIONS=detect_leaks=0:log_path=stdout:verify_asan_link_order=false
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
tags:
- debug
artifacts:
when: always
paths:
- screenshots
make_minimal:
<<: *make_definition
<<: *artifacts_definition
before_script:
# there can be only one before_script:, so the line below cannot be in a separate template
- if [[ ${CI_MERGE_REQUEST_TITLE:0:4} == "WIP:" ]] ; then export SKIP_TEST="SKIP_TEST"; else echo "non-WIP merge request detected"; fi
- export EXTRA_CMAKE_ARGS="-DENABLE_VTK=OFF -DENABLE_MPI=OFF -DENABLE_GUI=OFF -DENABLE_GTS=OFF -DENABLE_TWOPHASEFLOW=OFF -DENABLE_CGAL=OFF -DENABLE_FEMLIKE=OFF -DENABLE_LBMFLOW=OFF -DENABLE_POTENTIAL_BLOCKS=OFF -DENABLE_POTENTIAL_PARTICLES=OFF -DENABLE_GL2PS=OFF -DENABLE_LOGGER=OFF -DENABLE_OPENMP=OFF $EXTRA_CMAKE_ARGS"
- echo $EXTRA_CMAKE_ARGS
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
# _opposite means that all non-minimal options (options that do not reduce significantly amount of compiled code) are set to the setting opposite to the default one
make_opposite:
<<: *make_definition
<<: *artifacts_definition
before_script:
# there can be only one before_script:, so the line below cannot be in a separate template
- if [[ ${CI_MERGE_REQUEST_TITLE:0:4} == "WIP:" ]] ; then export SKIP_TEST="SKIP_TEST"; else echo "non-WIP merge request detected"; fi
- export EXTRA_CMAKE_ARGS="-DENABLE_LOGGER=OFF -DENABLE_MASK_ARBITRARY=ON -DENABLE_OPENMP=OFF -DENABLE_LIQMIGRATION=ON -DENABLE_PROFILING=ON -DENABLE_SPH=ON -DENABLE_DEFORM=ON $EXTRA_CMAKE_ARGS"
- echo $EXTRA_CMAKE_ARGS
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
make_suse15:
<<: *make_definition
<<: *artifacts_definition
before_script:
- export CXXFLAGS="-Wno-int-in-bool-context -Wno-comment $CXXFLAGS"
- echo $CXXFLAGS
image: registry.gitlab.com/yade-dev/docker-yade:suse15
make_18_04_nogui:
<<: *make_definition
<<: *artifacts_definition
before_script:
- export EXTRA_CMAKE_ARGS="-DENABLE_GUI=OFF $EXTRA_CMAKE_ARGS"
- echo $EXTRA_CMAKE_ARGS
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04_nogui
make_clang:
<<: *make_definition
<<: *artifacts_definition
before_script:
- export CC="/usr/bin/clang-10"
- export CXX="/usr/bin/clang++-10"
# We should escape disabling features for the clang-build. Clang should work exactly like gcc.
- export EXTRA_CMAKE_ARGS="-DENABLE_USEFUL_ERRORS=0 $EXTRA_CMAKE_ARGS"
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
# 3.1. test stage
.test_template: &test_definition
<<: *platforms_definition
stage: test
script:
- if [[ ${SKIP_TEST} == "SKIP_TEST" ]] ; then echo -e "\n\e[93m===\nSkipping this test, because it's a WIP merge request.\n===\e[0m\n"; else install/bin/yade-ci --test; fi
- if [[ ${SKIP_TEST} == "SKIP_TEST" ]] || [[ ${NO_GUI} == "NO_GUI" ]] ; then echo -e "\n\e[93m===\nSkipping GUI test.\n===\e[0m\n"; else xvfb-run -a -s "-screen 0 1600x1200x16" scripts/checks-and-tests/gui/testGui.sh; fi
- cat /etc/os-release
timeout: 25 minutes
artifacts:
when: always
paths:
- screenshots
.skip_wip_test_template: &skip_wip_test_definition
before_script:
# there can be only one before_script: it is in a template here. Buy if you need a before_script: for something else (e.g. MPI), this line has to
# be copied into 'before_script:' there, and the template removed
- if [[ ${CI_MERGE_REQUEST_TITLE:0:4} == "WIP:" ]] ; then export SKIP_TEST="SKIP_TEST"; else echo "non-WIP merge request detected"; fi
.skip_wip_test_template_nogui: &skip_wip_test_definition_nogui
before_script:
- if [[ ${CI_MERGE_REQUEST_TITLE:0:4} == "WIP:" ]] ; then export SKIP_TEST="SKIP_TEST"; else echo "non-WIP merge request detected"; fi
- export NO_GUI="NO_GUI"
test_16_04:
<<: *test_definition
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu16.04
dependencies:
- make_16_04
needs: ["make_16_04"]
test_18_04:
<<: *test_definition
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04
dependencies:
- make_18_04
needs: ["make_18_04"]
test_stretch:
<<: *test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-stretch
dependencies:
- make_stretch
needs: ["make_stretch"]
test_buster:
<<: *test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-buster
dependencies:
- make_buster
needs: ["make_buster"]
test_bullseye:
<<: *test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_bullseye
needs: ["make_bullseye"]
test_no_mpi:
<<: *test_definition
<<: *skip_wip_test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_no_mpi
needs: ["make_no_mpi"]
test_no_vtk:
<<: *test_definition
<<: *skip_wip_test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_no_vtk
needs: ["make_no_vtk"]
test_minimal:
<<: *test_definition
<<: *skip_wip_test_definition_nogui
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_minimal
needs: ["make_minimal"]
test_opposite:
<<: *test_definition
<<: *skip_wip_test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_opposite
needs: ["make_opposite"]
test_suse15:
<<: *test_definition
before_script:
- export NO_GUI="NO_GUI"
image: registry.gitlab.com/yade-dev/docker-yade:suse15
dependencies:
- make_suse15
needs: ["make_suse15"]
test_18_foam:
stage: test
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04_foam
<<: *platforms_definition
dependencies:
- make_18_04
needs: ["make_18_04"]
timeout: 25 minutes
script:
- cat /etc/os-release
- export OMPI_MCA_btl_vader_single_copy_mechanism=none
- pwd
- scripts/checks-and-tests/testOpenFoam.sh
test_18_04_nogui:
<<: *test_definition
before_script:
- export NO_GUI="NO_GUI"
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04_nogui
dependencies:
- make_18_04_nogui
needs: ["make_18_04_nogui"]
test_clang:
<<: *test_definition
<<: *skip_wip_test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_clang
needs: ["make_clang"]
# 3.2. check stage
.check_template: &check_definition
<<: *platforms_definition
stage: test
# before_script:
# - export OMPI_MCA_rmaps_base_oversubscribe=1
# - export OMPI_MCA_btl_vader_single_copy_mechanism=none
# - export OMPI_MCA_mpi_yield_when_idle=1 #degraded mode when oversubscribing (https://www.open-mpi.org/faq/?category=running#oversubscribing)
script:
- if [[ ${SKIP_TEST} == "SKIP_TEST" ]] ; then echo -e "\n\e[93m===\nSkipping this check, because it's a WIP merge request.\n===\e[0m\n"; else install/bin/yade-ci --checks; fi
timeout: 25 minutes
check_16_04:
<<: *check_definition
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu16.04
dependencies:
- make_16_04
needs: ["make_16_04"]
check_18_04:
<<: *check_definition
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04
dependencies:
- make_18_04
needs: ["make_18_04"]
check_stretch:
<<: *check_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-stretch
dependencies:
- make_stretch
needs: ["make_stretch"]
check_buster:
<<: *check_definition
before_script:
- export OMPI_MCA_rmaps_base_oversubscribe=1
- export OMPI_MCA_btl_vader_single_copy_mechanism=none
- export OMPI_MCA_mpi_yield_when_idle=1 #degraded mode when oversubscribing (https://www.open-mpi.org
image: registry.gitlab.com/yade-dev/docker-yade:debian-buster
dependencies:
- make_buster
needs: ["make_buster"]
check_bullseye:
<<: *check_definition
before_script:
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_bullseye
needs: ["make_bullseye"]
check_no_mpi:
<<: *check_definition
<<: *skip_wip_test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_no_mpi
needs: ["make_no_mpi"]
check_no_vtk:
<<: *check_definition
<<: *skip_wip_test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_no_vtk
needs: ["make_no_vtk"]
check_minimal:
<<: *check_definition
<<: *skip_wip_test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_minimal
needs: ["make_minimal"]
check_opposite:
<<: *check_definition
<<: *skip_wip_test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_opposite
needs: ["make_opposite"]
check_suse15:
<<: *check_definition
image: registry.gitlab.com/yade-dev/docker-yade:suse15
dependencies:
- make_suse15
needs: ["make_suse15"]
check_clang:
<<: *check_definition
<<: *skip_wip_test_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
dependencies:
- make_clang
needs: ["make_clang"]
.doc_template: &doc_definition
<<: *platforms_definition
script:
- cd build
- if [[ ${SKIP_TEST} == "SKIP_TEST" ]] ; then echo -e "\n\e[93m===\nSkipping DOC, because it's a WIP merge request.\n===\e[0m\n"; else xvfb-run -s "-screen 0 1600x1200x24" make doc; fi
stage: test
timeout: 40 minutes
artifacts:
paths:
- install
# 4. doc stage
doc_18_04:
<<: *doc_definition
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04
dependencies:
- make_18_04
needs: ["make_18_04"]
# 5. pages stage; uploads documentation to the website
pages:
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04
stage: pages
<<: *gitlab_runner_retry_definition
only:
- master
script:
- mv install/share/doc/yade-ci/html public
- mv install/share/doc/yade-ci/Yade.pdf public
- mv install/share/doc/yade-ci/Yade.epub public
dependencies:
- doc_18_04
needs: ["doc_18_04"]
artifacts:
paths:
- public
# 6. build debian packages
.deb_template: &deb_definition
stage: deb
<<: *gitlab_runner_retry_definition
only:
- master
script:
- cd $CI_PROJECT_DIR/deb/yadedaily
# see comments in make_template, but here give smaller JOBSNUM because this runs on master only, so the cores can be better utilized on merge_request
- export JOBSNUM=$(case $CI_RUNNER_DESCRIPTION in
"y4pak") echo "11" ;;
"c4pak") echo "11" ;;
"y6pak") echo "12" ;;
"c6pak") echo "12" ;;
"y7pak") echo "10" ;;
"c7pak") echo "10" ;;
"yade-runner") echo "12" ;;
"yade-runner-01") echo "1" ;;
*) echo "8";;
esac)
- echo $JOBSNUM
- export CCACHE_DIR=/root/.ccache
- ccache -s
- DEB_BUILD_OPTIONS=noddebs dpkg-buildpackage -j$JOBSNUM
- rm -rf $CI_PROJECT_DIR/deb/yadedaily
- ls -l $CI_PROJECT_DIR/deb
- ccache -s
dependencies: []
artifacts:
paths:
- ./deb
expire_in: 5 day
tags:
- fast
deb_bullseye:
<<: *deb_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-bullseye
before_script:
- rm -rf ./deb
- ./scripts/ppa_ci/builddeb.py -d "bullseye"
deb_buster:
<<: *deb_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-buster
before_script:
- rm -rf ./deb
- ./scripts/ppa_ci/builddeb.py -d "buster"
deb_stretch:
<<: *deb_definition
image: registry.gitlab.com/yade-dev/docker-yade:debian-stretch
before_script:
- rm -rf ./deb
- ./scripts/ppa_ci/builddeb.py -d "stretch"
deb_bionic:
<<: *deb_definition
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu18.04
before_script:
- rm -rf ./deb
- ./scripts/ppa_ci/builddeb.py -d "bionic"
deb_xenial:
<<: *deb_definition
image: registry.gitlab.com/yade-dev/docker-yade:ubuntu16.04
before_script:
- rm -rf ./deb
- ./scripts/ppa_ci/builddeb.py -d "xenial"