xref: /petsc/.gitlab-ci.yml (revision 67602552375e05d7b60ebf9fda4d0b550f99b2d3)
1#
2# stage-1 take only a few minutes and generally run on the cloud; they do not run the full test suite or external packages.
3#
4# stage-2 runs on MCS systems and may take 10 to 15 minutes. They run the full test suite but with limited mixture of external packages
5#
6# stage-3 runs on MCS systems and may take an hour or more. They run the full test suite and heavily test external packages, utilize valgrind etc
7#         (not yet implemented)
8#
9# The stage-(n) tests are only started if all of the stage-(n-1) tests run without error
10#   You can limit the testing by using the variable STAGE with value 1 or 2
11#
12# By default the test branch is merged to master before testing. (not yet implemented)
13#   You can limite this by using the variable MERGETOMASTER with value 0 (not yet implemented)
14#
15
16stages:
17  - stage-1
18  - stage-2
19  - stage-3
20variables:
21  GIT_STRATEGY: fetch
22  GIT_CLEAN_FLAGS: -ffdxq
23  PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump
24  TIMEOUT: 1000
25
26#
27# The most basic template that most tests will expand upon. In particular merge requests and branch pushes DO NOT trigger testing
28#
29
30.test:
31  only:
32    refs:
33#     Set with CI/CD Shedules - New Schedule
34      - schedules
35      - api
36#     Set with CI/CD Pipelines - Run Pipeline
37      - web
38      - merge_requests
39    variables:
40      - $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train"
41      - $CI_MERGE_REQUEST_EVENT_TYPE == null
42  dependencies: []
43
44check-ci-settings:
45  extends: .test
46  stage: .pre
47  tags:
48    - check-ci-settings
49  script:
50    - lib/petsc/bin/maint/check-ci-settings.sh
51#
52#  This provides the basic order of operations and options template for cloud based stage 1 tests.
53#  Not all test-short need to follow this template but most will.
54#
55
56.stage-1:
57  extends: .test
58  stage: stage-1
59  tags:
60    - stage1
61  before_script:
62    - date
63    - hostname
64    - grep PRETTY_NAME /etc/os-release
65    - nproc
66    - lscpu
67    - ccache --zero-stats
68    - echo ${CONFIG_OPTS}
69  script:
70    - ${PYTHON} ./configure --with-debugging=0 COPTFLAGS='-O -march=native' CXXOPTFLAGS='-O -march=native' FOPTFLAGS='-O -march=native' ${CONFIG_OPTS}
71    - make CFLAGS=-Werror CXXFLAGS=-Werror FFLAGS=-Werror
72    - make CFLAGS=-Werror CXXFLAGS=-Werror FFLAGS=-Werror allgtests-tap search="${TEST_SEARCH}" TIMEOUT=${TIMEOUT}
73  after_script:
74    - date
75    - ccache --show-stats
76  artifacts:
77    reports:
78      junit: arch-*/tests/testresults.xml
79    name: "$CI_JOB_NAME"
80    when: always
81    paths:
82    - arch-*/lib/petsc/conf/*.log
83    - arch-*/lib/pkgconfig/PETSc.pc
84    - arch-*/tests/testresults.xml
85    - arch-*/tests/test_*_tap.log
86    - arch-*/tests/test_*_err.log
87    expire_in: 4 days
88
89#
90# The following tests run on the cloud as part of stage-1.
91#
92
93mpich-cxx-py3:
94  extends: .stage-1
95  variables:
96    PYTHON: python3
97    CONFIG_OPTS: --with-mpi-dir=/home/glci/soft/mpich-3.3.2 --with-clanguage=cxx --with-fc=0
98    TEST_SEARCH: snes_tutorials-ex48%
99
100uni-complex-float-int64:
101  extends: .stage-1
102  variables:
103    PYTHON: python3
104    CONFIG_OPTS: --with-mpi=0 --with-scalar-type=complex --with-precision=single --with-64-bit-indices
105    TEST_SEARCH: ts_tutorials-ex11_adv_2d_quad_%
106
107c99-mlib-static-py2:
108  extends: .stage-1
109  variables:
110    PYTHON: python2
111    CONFIG_OPTS: --with-mpi-dir=/home/glci/soft/mpich-3.3.2 --with-single-library=0 --with-shared-libraries=0 CFLAGS=-std=c99
112    TEST_SEARCH: snes_tutorials-ex19%
113
114checksource:
115  extends: .test
116  stage: stage-1
117  tags:
118    - stage1
119  script:
120    - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
121    - make checkbadSource SHELL=bash
122    - make -f gmakefile check_output SHELL=bash
123
124check-py-vermin:
125  extends: .test
126  stage: stage-1
127  tags:
128    - stage1
129  script:
130    - vermin -vv  -t=2.6- -t=3.4- config
131#
132# This provides the basic order of operations and options template for stage-2,3 tests.
133# Not all stage-2,3 need to follow this template, but most will.
134#
135.stage-23:
136  extends: .test
137  script:
138    - printf "PATH:$PATH\n"
139    - printf "PETSC_OPTIONS:$PETSC_OPTIONS\n"
140    - printf "./config/examples/${TEST_ARCH}.py\n"
141    - cat ./config/examples/${TEST_ARCH}.py
142    - ./config/examples/${TEST_ARCH}.py
143    - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS}
144    - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS} check
145    - make updatedatafiles
146    - if [ -z ${DISABLE_TESTS+x} ]; then make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS} cleantest allgtests-tap TIMEOUT=${TIMEOUT}; fi
147    - if [ ! -z ${RUN_GCOV+x} ]; then make gcov; fi
148  artifacts:
149    reports:
150      junit: ${TEST_ARCH}/tests/testresults.xml
151    name: "$CI_JOB_NAME"
152    when: always
153    paths:
154    - ${TEST_ARCH}/lib/petsc/conf/*.log
155    - ${TEST_ARCH}/lib/pkgconfig/PETSc.pc
156    - ${TEST_ARCH}/tests/testresults.xml
157    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
158    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
159    - ${TEST_ARCH}/gcov.tar.gz
160    expire_in: 4 days
161  variables:
162    OPENBLAS_NUM_THREADS: 1
163
164.stage-2:
165  extends: .stage-23
166  stage: stage-2
167
168.stage-3:
169  extends: .stage-23
170  stage: stage-3
171
172#
173# The following provide templates for various OSes for pre/post info
174#
175
176.linux_test_noflags:
177  before_script:
178    - date
179    - hostname
180    - grep PRETTY_NAME /etc/os-release
181    - nproc
182    - lscpu
183    - ccache --zero-stats
184    - if [ ! -z ${LOAD_MODULES+x} ]; then module --trace load ${LOAD_MODULES}; module list; fi
185  after_script:
186    - date
187    - ccache --show-stats
188
189.linux_test_nofflags:
190  extends: .linux_test_noflags
191  variables:
192    MAKE_CFLAGS: -Werror
193    MAKE_CXXFLAGS: -Werror
194
195.linux_test:
196  extends: .linux_test_noflags
197  variables:
198    MAKE_CFLAGS: -Werror
199    MAKE_CXXFLAGS: -Werror
200    MAKE_FFLAGS: -Werror
201
202.freebsd_test:
203  variables:
204    MAKE_CFLAGS: -Werror
205    MAKE_CXXFLAGS: -Werror
206    MAKE_FFLAGS: -Werror
207  before_script:
208    - date
209    - hostname
210    - freebsd-version
211    - echo $(sysctl -n hw.ncpu)
212    - ccache --zero-stats
213  after_script:
214    - date
215    - ccache --show-stats
216
217.osx_test:
218  variables:
219    MAKE_CFLAGS: -Werror
220    MAKE_CXXFLAGS: -Werror
221    MAKE_FFLAGS: -Werror
222  before_script:
223    - date
224    - hostname
225    - sw_vers -productVersion
226    - echo $(sysctl -n hw.ncpu)
227    - ccache --zero-stats
228  after_script:
229    - date
230    - ccache --show-stats
231
232.opensolaris_test:
233  before_script:
234    - date
235    - hostname
236    - uname -a
237    - nproc
238    - isainfo -x
239  after_script:
240    - date
241
242.mswin_test:
243  before_script:
244    - date
245    - hostname
246    - uname -a
247    - nproc
248  after_script:
249    - date
250
251#
252# The following tests run as part of stage-2.
253#
254# The tags variable used in the tests below connects the particular test with the runners
255# listed on the left hand side of https://gitlab.com/petsc/petsc/-/settings/ci_cd.
256# For example the test linux-gcc-complex-opt  any runner that has the tag 'name:pj02'
257# (in a blue box beneath it)
258#
259
260freebsd-cxx-cmplx-64idx-dbg:
261  extends:
262    - .stage-2
263    - .freebsd_test
264  tags:
265    - os:fbsd
266  variables:
267    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-64idx-dbg
268
269freebsd-c-single-opt:
270  extends:
271    - .stage-2
272    - .freebsd_test
273  tags:
274    - os:fbsd
275  variables:
276    TEST_ARCH: arch-ci-freebsd-c-single-opt
277
278linux-cuda-double:
279  extends:
280    - .stage-2
281    - .linux_test
282  tags:
283    - gpu:nvidia, os:linux, name:p1
284  variables:
285    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
286    TEST_ARCH: arch-ci-linux-cuda-double
287
288linux-gcc-quad-64idx-dbg:
289  extends:
290    - .stage-2
291    - .linux_test
292  tags:
293    - linux-stage2
294  variables:
295    TEST_ARCH: arch-ci-linux-gcc-quad-64idx-dbg
296
297linux-gcc-pkgs-opt:
298  extends:
299    - .stage-2
300    - .linux_test
301  tags:
302    - linux-stage2
303  variables:
304    TEST_ARCH: arch-ci-linux-gcc-pkgs-opt
305
306linux-gcc-complex-opt:
307  extends:
308    - .stage-2
309    - .linux_test
310  tags:
311    - linux-stage2
312  variables:
313    TEST_ARCH: arch-ci-linux-gcc-complex-opt
314
315mswin-uni:
316  extends:
317    - .stage-2
318    - .mswin_test
319  tags:
320    - name:ps5-2
321  variables:
322    TEST_ARCH: arch-ci-mswin-uni
323
324mswin-gnu:
325  extends:
326    - .stage-2
327    - .mswin_test
328  tags:
329    - name:ps5-3
330  variables:
331    TEST_ARCH: arch-ci-mswin-gnu
332    MAKE_CFLAGS: -Werror
333    MAKE_CXXFLAGS: -Werror
334    MAKE_FFLAGS: -Werror
335    DISABLE_TESTS: 1
336  artifacts:
337    reports:
338    paths:
339    - arch-*/lib/petsc/conf/*.log
340    expire_in: 4 days
341
342#
343# The following tests run as part of stage-3.
344#
345
346freebsd-cxx-cmplx-pkgs-dbg:
347  extends:
348    - .stage-3
349    - .freebsd_test
350  tags:
351    - os:fbsd
352  variables:
353    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-pkgs-dbg
354
355freebsd-cxx-pkgs-opt:
356  extends:
357    - .stage-3
358    - .freebsd_test
359  tags:
360    - os:fbsd
361  variables:
362    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent -vecscatter_mpi1 false -options_left false
363    TEST_ARCH: arch-ci-freebsd-cxx-pkgs-opt
364
365freebsd-pkgs-opt:
366  extends:
367    - .stage-3
368    - .freebsd_test
369  tags:
370    - os:fbsd
371  variables:
372    TEST_ARCH: arch-ci-freebsd-pkgs-opt
373
374linux-viennacl:
375  extends:
376    - .stage-3
377    - .linux_test
378  tags:
379    - gpu:nvidia, os:linux, name:frog
380  variables:
381    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0 -use_gpu_aware_mpi 0
382    TEST_ARCH: arch-ci-linux-viennacl
383
384linux-c-exodus-dbg:
385  extends:
386    - .stage-3
387    - .linux_test
388  tags:
389    - gpu:nvidia, os:linux
390  variables:
391    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0 -use_gpu_aware_mpi 0
392    TEST_ARCH: arch-ci-linux-c-exodus-dbg
393
394linux-cuda-complex:
395  extends:
396    - .stage-3
397    - .linux_test
398  tags:
399    - gpu:nvidia, os:linux, name:p1
400  variables:
401    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
402    TEST_ARCH: arch-ci-linux-cuda-complex
403
404linux-cuda-double-64idx:
405  extends:
406    - .stage-3
407    - .linux_test
408  tags:
409    - gpu:nvidia, os:linux, name:p1
410  variables:
411    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
412    TEST_ARCH: arch-ci-linux-cuda-double-64idx
413
414linux-cuda-single-cxx:
415  extends:
416    - .stage-3
417    - .linux_test
418  tags:
419    - gpu:nvidia, os:linux
420  variables:
421    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0 -use_gpu_aware_mpi 0
422    TEST_ARCH: arch-ci-linux-cuda-single-cxx
423
424linux-cuda-uni-pkgs:
425  extends:
426    - .stage-3
427    - .linux_test
428  tags:
429    - gpu:nvidia, os:linux, name:frog
430  variables:
431    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
432    TEST_ARCH: arch-ci-linux-cuda-uni-pkgs
433
434linux-without-fc:
435  extends:
436    - .stage-3
437    - .linux_test
438  tags:
439    - gce-nfs
440  variables:
441    TEST_ARCH: arch-ci-linux-without-fc
442
443linux-cmplx-single:
444  extends:
445    - .stage-3
446    - .linux_test
447  tags:
448    - name:si
449  variables:
450    TEST_ARCH: arch-ci-linux-cmplx-single
451
452linux-gcc-cxx-avx2:
453  extends:
454    - .stage-3
455    - .linux_test
456  tags:
457    - name:isdp001
458  variables:
459    TEST_ARCH: arch-ci-linux-gcc-cxx-avx2
460
461linux-clang-avx:
462  extends:
463    - .stage-3
464    - .linux_test
465  tags:
466    - name:isdp001
467  variables:
468    TEST_ARCH: arch-ci-linux-clang-avx
469
470linux-knl:
471  extends:
472    - .stage-3
473    - .linux_test
474  tags:
475    - name:isdp001
476  variables:
477    TEST_ARCH: arch-ci-linux-knl
478
479linux-intel-mkl-single:
480  extends:
481    - .stage-3
482    - .linux_test_noflags
483  tags:
484    - name:isdp001
485  variables:
486    TEST_ARCH: arch-ci-linux-intel-mkl-single
487
488linux-cxx-cmplx-pkgs-64idx:
489  extends:
490    - .stage-3
491    - .linux_test
492  tags:
493    - gce-nfs
494  variables:
495    TEST_ARCH: arch-ci-linux-cxx-cmplx-pkgs-64idx
496    LOAD_MODULES: llvm/9.0.0-7fyffox gcc/8.3.0-fjpc5ys cmake/3.14.2-rl3q676
497
498linux-pkgs-dbg-ftn-interfaces:
499  extends:
500    - .stage-3
501    - .linux_test
502  tags:
503    - gce-nfs
504  variables:
505    TEST_ARCH: arch-ci-linux-pkgs-dbg-ftn-interfaces
506
507linux-pkgs-cxx-mlib:
508  extends:
509    - .stage-3
510    - .linux_test
511  tags:
512    - gce-nfs
513  variables:
514    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
515    TEST_ARCH: arch-ci-linux-pkgs-cxx-mlib
516
517linux-pkgs-valgrind:
518  extends:
519    - .stage-3
520    - .linux_test
521  tags:
522    - gce-nfs, linux-fast
523  variables:
524    TEST_ARCH: arch-ci-linux-pkgs-valgrind
525    TIMEOUT: 7200
526
527linux-pkgs-opt:
528  extends:
529    - .stage-3
530    - .linux_test
531  tags:
532    - gce-nfs, linux-fast
533  variables:
534    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
535    TEST_ARCH: arch-ci-linux-pkgs-opt
536
537linux-pkgs-gcov:
538  extends:
539    - .stage-3
540    - .linux_test
541  tags:
542    - gce-nfs, linux-gcov
543  variables:
544    TEST_ARCH: arch-ci-linux-pkgs-gcov
545    RUN_GCOV: 1
546
547linux-cmplx-gcov:
548  extends:
549    - .stage-3
550    - .linux_test
551  tags:
552    - gce-nfs, linux-gcov
553  variables:
554    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -vecscatter_mpi1 false -options_left false
555    TEST_ARCH: arch-ci-linux-cmplx-gcov
556    LOAD_MODULES: gcc/8.3.0-fjpc5ys
557    RUN_GCOV: 1
558
559linux-matlab-ilp64-gcov:
560  extends:
561    - .stage-3
562    - .linux_test
563  tags:
564    - gce-nfs, linux-gcov
565  variables:
566    TEST_ARCH: arch-ci-linux-matlab-ilp64-gcov
567    LOAD_MODULES: matlab/R2018a
568    RUN_GCOV: 1
569  allow_failure: true
570
571linux-gcov:
572  extends:
573    - .stage-3
574    - .linux_test
575  tags:
576    - gce-nfs, linux-gcov
577  variables:
578    TEST_ARCH: arch-ci-linux-gcov
579    RUN_GCOV: 1
580
581linux-pgi:
582  extends:
583    - .stage-3
584    - .linux_test_noflags
585  tags:
586    - gce-nfs, linux-mcpu
587  variables:
588    TEST_ARCH: arch-ci-linux-pgi
589
590linux-nagfor:
591  extends:
592    - .stage-3
593    - .linux_test_nofflags
594  tags:
595    - gce-nfs, linux-mcpu
596  variables:
597    PATH: /usr/lib/ccache:/home/svcpetsc/.local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/nfs/gce/projects/petsc/soft/nag/6.1/bin
598    NAG_KUSARI_FILE: licman1.mcs.anl.gov:7733
599    TEST_ARCH: arch-ci-linux-nagfor
600
601linux-intel-cmplx:
602  extends:
603    - .stage-3
604    - .linux_test_noflags
605  tags:
606    - gce-nfs
607  variables:
608    TEST_ARCH: arch-ci-linux-intel-cmplx
609    LOAD_MODULES: intel-mkl/19.5 intel/19.0-nompilib
610
611linux-xsdk-dbg:
612  extends:
613    - .stage-3
614    - .linux_test
615  tags:
616    - gce-nfs
617  variables:
618    TEST_ARCH: arch-ci-linux-xsdk-dbg
619    LOAD_MODULES: gcc/8.3.0-fjpc5ys
620
621linux-analyzer:
622  extends:
623    - .stage-3
624    - .linux_test
625  tags:
626    - gce-nfs
627  variables:
628    TEST_ARCH: arch-ci-linux-analyzer
629
630linux-intel:
631  extends:
632    - .stage-3
633    - .linux_test_nofflags
634  tags:
635    - gce-nfs
636  variables:
637    TEST_ARCH: arch-ci-linux-intel
638    LOAD_MODULES: intel-mkl/19.5 intel/19.0-nompilib
639
640linux-opt-misc:
641  extends:
642    - .stage-3
643    - .linux_test
644  tags:
645    - gce-nfs
646  variables:
647    TEST_ARCH: arch-ci-linux-opt-misc
648    LOAD_MODULES: gcc/6.5.0-57usejd
649
650linux-pkgs-64idx:
651  extends:
652    - .stage-3
653    - .linux_test
654  tags:
655    - gce-nfs
656  variables:
657    TEST_ARCH: arch-ci-linux-pkgs-64idx
658    LOAD_MODULES: cmake/3.15.5-fh74toq
659
660linux-64idx-i8:
661  extends:
662    - .stage-3
663    - .linux_test
664  tags:
665    - gce-nfs
666  variables:
667    TEST_ARCH: arch-ci-linux-64idx-i8
668
669linux-gcc-ifc-cmplx:
670  extends:
671    - .stage-3
672    - .linux_test_nofflags
673  tags:
674    - gce-nfs
675  variables:
676    TEST_ARCH: arch-ci-linux-gcc-ifc-cmplx
677    LOAD_MODULES: intel/19.0-nompilib
678
679linux-opt-cxx-quad:
680  extends:
681    - .stage-3
682    - .linux_test
683  tags:
684    - gce-nfs
685  variables:
686    TEST_ARCH: arch-ci-linux-opt-cxx-quad
687
688linux-ILP64:
689  extends:
690    - .stage-3
691    - .linux_test
692  tags:
693    - gce-nfs
694  variables:
695    TEST_ARCH: arch-ci-linux-ILP64
696    LOAD_MODULES: gcc/6.5.0-57usejd
697
698linux-64idx-i8-uni:
699  extends:
700    - .stage-3
701    - .linux_test
702  tags:
703    - gce-nfs
704  variables:
705    TEST_ARCH: arch-ci-linux-64idx-i8-uni
706
707mswin-intel-cxx-cmplx:
708  extends:
709    - .stage-3
710    - .mswin_test
711  tags:
712    - name:ps5
713  variables:
714    TEST_ARCH: arch-ci-mswin-intel-cxx-cmplx
715
716mswin-intel:
717  extends:
718    - .stage-3
719    - .mswin_test
720  tags:
721    - name:ps5
722  variables:
723    TEST_ARCH: arch-ci-mswin-intel
724
725mswin-opt-impi:
726  extends:
727    - .stage-3
728    - .mswin_test
729  tags:
730    - name:ps4
731  variables:
732    TEST_ARCH: arch-ci-mswin-opt-impi
733  allow_failure: true
734
735opensolaris-pkgs-opt:
736  extends:
737    - .stage-3
738    - .opensolaris_test
739  tags:
740    - name:n-gage
741  variables:
742    TEST_ARCH: arch-ci-opensolaris-pkgs-opt
743
744opensolaris-cmplx-pkgs-dbg:
745  extends:
746    - .stage-3
747    - .opensolaris_test
748  tags:
749    - name:n-gage
750  variables:
751    TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg
752
753opensolaris-misc:
754  extends:
755    - .stage-3
756    - .opensolaris_test
757  tags:
758    - name:n-gage
759  variables:
760    TEST_ARCH: arch-ci-opensolaris-misc
761
762osx-cxx-cmplx-pkgs-dbg:
763  extends:
764    - .stage-3
765    - .osx_test
766  tags:
767    - os:macos
768  variables:
769    TEST_ARCH: arch-ci-osx-cxx-cmplx-pkgs-dbg
770
771osx-cxx-pkgs-opt:
772  extends:
773    - .stage-3
774    - .osx_test
775  tags:
776    - os:macos, opt
777  variables:
778    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent -vecscatter_mpi1 false -options_left false
779    TEST_ARCH: arch-ci-osx-cxx-pkgs-opt
780    MAKE_CXXFLAGS: -Werror -Wno-pass-failed
781
782osx-dbg:
783  extends:
784    - .stage-3
785    - .osx_test
786  tags:
787    - os:macos
788  variables:
789    TEST_ARCH: arch-ci-osx-dbg
790
791osx-xsdk-opt:
792  extends:
793    - .stage-3
794    - .osx_test
795  tags:
796    - os:macos, opt
797  variables:
798    TEST_ARCH: arch-ci-osx-xsdk-opt
799
800# job for analyzing the final coverage results
801analyze-pipeline:
802  extends: .test
803  stage: .post
804  image: jedbrown/mpich-ccache
805  tags:
806    - docker
807  dependencies:
808  variables:
809    PYTHON: python3
810    # Need a dummy TEST_ARCH that comes from artifacts
811    TEST_ARCH: arch-ci-linux-pkgs-gcov
812  allow_failure: true
813  before_script:
814    - date
815  script:
816  - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
817#  - make mergegcov LOC=$PWD
818  - ${PYTHON} lib/petsc/bin/maint/gcov.py --merge_gcov --loc=${PWD} --petsc_arch ${TEST_ARCH}
819  - ls
820  - ls arch*/*
821  artifacts:
822    name: "$CI_JOB_NAME"
823    when: always
824    paths:
825    - i*.html
826    - arch-*-gcov/*
827    expire_in: 4 days
828#
829#
830# The following tests are experimental; more tests by users at other sites may be added below this.  Experimental test
831# that fail produce a warning, but do not block execution of a pipeline.
832#
833
834.test-experimental:
835  extends: .test
836  allow_failure: true
837
838