xref: /petsc/.gitlab-ci.yml (revision 10582eeaa9b3efe3f6cf39ea8a1cfd7a829c4aa6)
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
107c89-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=c89
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-double-64idx:
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-double-64idx
403
404linux-cuda-single-cxx:
405  extends:
406    - .stage-3
407    - .linux_test
408  tags:
409    - gpu:nvidia, os:linux, name:frog
410  variables:
411    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0 -use_gpu_aware_mpi 0
412    TEST_ARCH: arch-ci-linux-cuda-single-cxx
413
414linux-without-fc:
415  extends:
416    - .stage-3
417    - .linux_test
418  tags:
419    - gce-nfs
420  variables:
421    TEST_ARCH: arch-ci-linux-without-fc
422
423linux-cmplx-single:
424  extends:
425    - .stage-3
426    - .linux_test
427  tags:
428    - name:si
429  variables:
430    TEST_ARCH: arch-ci-linux-cmplx-single
431
432linux-gcc-cxx-avx2:
433  extends:
434    - .stage-3
435    - .linux_test
436  tags:
437    - name:isdp001
438  variables:
439    TEST_ARCH: arch-ci-linux-gcc-cxx-avx2
440
441linux-clang-avx:
442  extends:
443    - .stage-3
444    - .linux_test
445  tags:
446    - name:isdp001
447  variables:
448    TEST_ARCH: arch-ci-linux-clang-avx
449
450linux-knl:
451  extends:
452    - .stage-3
453    - .linux_test
454  tags:
455    - name:isdp001
456  variables:
457    TEST_ARCH: arch-ci-linux-knl
458
459linux-intel-mkl-single:
460  extends:
461    - .stage-3
462    - .linux_test_noflags
463  tags:
464    - name:isdp001
465  variables:
466    TEST_ARCH: arch-ci-linux-intel-mkl-single
467
468linux-cxx-cmplx-pkgs-64idx:
469  extends:
470    - .stage-3
471    - .linux_test
472  tags:
473    - gce-nfs
474  variables:
475    TEST_ARCH: arch-ci-linux-cxx-cmplx-pkgs-64idx
476    LOAD_MODULES: llvm/9.0.0-7fyffox gcc/8.3.0-fjpc5ys cmake/3.14.2-rl3q676
477
478linux-pkgs-dbg-ftn-interfaces:
479  extends:
480    - .stage-3
481    - .linux_test
482  tags:
483    - gce-nfs
484  variables:
485    TEST_ARCH: arch-ci-linux-pkgs-dbg-ftn-interfaces
486
487linux-pkgs-cxx-mlib:
488  extends:
489    - .stage-3
490    - .linux_test
491  tags:
492    - gce-nfs
493  variables:
494    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
495    TEST_ARCH: arch-ci-linux-pkgs-cxx-mlib
496
497linux-pkgs-valgrind:
498  extends:
499    - .stage-3
500    - .linux_test
501  tags:
502    - gce-nfs, linux-fast
503  variables:
504    TEST_ARCH: arch-ci-linux-pkgs-valgrind
505    TIMEOUT: 7200
506
507linux-pkgs-opt:
508  extends:
509    - .stage-3
510    - .linux_test
511  tags:
512    - gce-nfs, linux-fast
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-opt
516    LOAD_MODULES: gcc/10.1.0-5hiqhdh
517
518linux-pkgs-gcov:
519  extends:
520    - .stage-3
521    - .linux_test
522  tags:
523    - gce-nfs, linux-gcov
524  variables:
525    TEST_ARCH: arch-ci-linux-pkgs-gcov
526    RUN_GCOV: 1
527
528linux-cmplx-gcov:
529  extends:
530    - .stage-3
531    - .linux_test
532  tags:
533    - gce-nfs, linux-gcov
534  variables:
535    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -vecscatter_mpi1 false -options_left false
536    TEST_ARCH: arch-ci-linux-cmplx-gcov
537    LOAD_MODULES: gcc/8.3.0-fjpc5ys
538    RUN_GCOV: 1
539
540linux-matlab-ilp64-gcov:
541  extends:
542    - .stage-3
543    - .linux_test
544  tags:
545    - gce-nfs, linux-gcov
546  variables:
547    TEST_ARCH: arch-ci-linux-matlab-ilp64-gcov
548    LOAD_MODULES: matlab/R2018a
549    RUN_GCOV: 1
550  allow_failure: true
551
552linux-gcov:
553  extends:
554    - .stage-3
555    - .linux_test
556  tags:
557    - gce-nfs, linux-gcov
558  variables:
559    TEST_ARCH: arch-ci-linux-gcov
560    RUN_GCOV: 1
561
562linux-pgi:
563  extends:
564    - .stage-3
565    - .linux_test_noflags
566  tags:
567    - gce-nfs, linux-mcpu
568  variables:
569    TEST_ARCH: arch-ci-linux-pgi
570
571linux-nagfor:
572  extends:
573    - .stage-3
574    - .linux_test_nofflags
575  tags:
576    - gce-nfs, linux-mcpu
577  variables:
578    PATH: /usr/lib/ccache:/home/svcpetsc/.local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/nfs/gce/projects/petsc/soft/nag/6.1/bin
579    NAG_KUSARI_FILE: licman1.mcs.anl.gov:7733
580    TEST_ARCH: arch-ci-linux-nagfor
581
582linux-intel-cmplx:
583  extends:
584    - .stage-3
585    - .linux_test_noflags
586  tags:
587    - gce-nfs
588  variables:
589    TEST_ARCH: arch-ci-linux-intel-cmplx
590    LOAD_MODULES: intel-mkl/19.5 intel/19.0-nompilib
591
592linux-xsdk-dbg:
593  extends:
594    - .stage-3
595    - .linux_test
596  tags:
597    - gce-nfs
598  variables:
599    TEST_ARCH: arch-ci-linux-xsdk-dbg
600    LOAD_MODULES: gcc/8.3.0-fjpc5ys
601
602linux-analyzer:
603  extends:
604    - .stage-3
605    - .linux_test
606  tags:
607    - gce-nfs
608  variables:
609    TEST_ARCH: arch-ci-linux-analyzer
610
611linux-intel:
612  extends:
613    - .stage-3
614    - .linux_test_nofflags
615  tags:
616    - gce-nfs
617  variables:
618    TEST_ARCH: arch-ci-linux-intel
619    LOAD_MODULES: intel-mkl/19.5 intel/19.0-nompilib
620
621linux-opt-misc:
622  extends:
623    - .stage-3
624    - .linux_test
625  tags:
626    - gce-nfs
627  variables:
628    TEST_ARCH: arch-ci-linux-opt-misc
629    LOAD_MODULES: gcc/6.5.0-57usejd
630
631linux-pkgs-64idx:
632  extends:
633    - .stage-3
634    - .linux_test
635  tags:
636    - gce-nfs
637  variables:
638    TEST_ARCH: arch-ci-linux-pkgs-64idx
639    LOAD_MODULES: cmake/3.15.5-fh74toq
640
641linux-64idx-i8:
642  extends:
643    - .stage-3
644    - .linux_test
645  tags:
646    - gce-nfs
647  variables:
648    TEST_ARCH: arch-ci-linux-64idx-i8
649
650linux-gcc-ifc-cmplx:
651  extends:
652    - .stage-3
653    - .linux_test_nofflags
654  tags:
655    - gce-nfs
656  variables:
657    TEST_ARCH: arch-ci-linux-gcc-ifc-cmplx
658    LOAD_MODULES: intel/19.0-nompilib
659
660linux-opt-cxx-quad:
661  extends:
662    - .stage-3
663    - .linux_test
664  tags:
665    - gce-nfs
666  variables:
667    TEST_ARCH: arch-ci-linux-opt-cxx-quad
668
669linux-ILP64:
670  extends:
671    - .stage-3
672    - .linux_test
673  tags:
674    - gce-nfs
675  variables:
676    TEST_ARCH: arch-ci-linux-ILP64
677    LOAD_MODULES: gcc/6.5.0-57usejd
678
679linux-uni-pkgs:
680  extends:
681    - .stage-3
682    - .linux_test
683  tags:
684    - gce-nfs
685  variables:
686    TEST_ARCH: arch-ci-linux-uni-pkgs
687    LOAD_MODULES: llvm/9.0.0-7fyffox cmake/3.14.2-rl3q676
688
689linux-64idx-i8-uni:
690  extends:
691    - .stage-3
692    - .linux_test
693  tags:
694    - gce-nfs
695  variables:
696    TEST_ARCH: arch-ci-linux-64idx-i8-uni
697
698mswin-intel-cxx-cmplx:
699  extends:
700    - .stage-3
701    - .mswin_test
702  tags:
703    - name:ps5
704  variables:
705    TEST_ARCH: arch-ci-mswin-intel-cxx-cmplx
706
707mswin-intel:
708  extends:
709    - .stage-3
710    - .mswin_test
711  tags:
712    - name:ps5
713  variables:
714    TEST_ARCH: arch-ci-mswin-intel
715
716mswin-opt-impi:
717  extends:
718    - .stage-3
719    - .mswin_test
720  tags:
721    - name:ps4
722  variables:
723    TEST_ARCH: arch-ci-mswin-opt-impi
724  allow_failure: true
725
726opensolaris-pkgs-opt:
727  extends:
728    - .stage-3
729    - .opensolaris_test
730  tags:
731    - name:n-gage
732  variables:
733    TEST_ARCH: arch-ci-opensolaris-pkgs-opt
734
735opensolaris-cmplx-pkgs-dbg:
736  extends:
737    - .stage-3
738    - .opensolaris_test
739  tags:
740    - name:n-gage
741  variables:
742    TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg
743
744opensolaris-misc:
745  extends:
746    - .stage-3
747    - .opensolaris_test
748  tags:
749    - name:n-gage
750  variables:
751    TEST_ARCH: arch-ci-opensolaris-misc
752
753osx-cxx-cmplx-pkgs-dbg:
754  extends:
755    - .stage-3
756    - .osx_test
757  tags:
758    - os:macos
759  variables:
760    TEST_ARCH: arch-ci-osx-cxx-cmplx-pkgs-dbg
761
762osx-cxx-pkgs-opt:
763  extends:
764    - .stage-3
765    - .osx_test
766  tags:
767    - os:macos, opt
768  variables:
769    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
770    TEST_ARCH: arch-ci-osx-cxx-pkgs-opt
771    MAKE_CXXFLAGS: -Werror -Wno-pass-failed
772
773osx-dbg:
774  extends:
775    - .stage-3
776    - .osx_test
777  tags:
778    - os:macos
779  variables:
780    TEST_ARCH: arch-ci-osx-dbg
781
782osx-xsdk-opt:
783  extends:
784    - .stage-3
785    - .osx_test
786  tags:
787    - os:macos, opt
788  variables:
789    TEST_ARCH: arch-ci-osx-xsdk-opt
790
791# job for analyzing the final coverage results
792analyze-pipeline:
793  extends: .test
794  stage: .post
795  image: jedbrown/mpich-ccache
796  tags:
797    - docker
798  dependencies:
799  variables:
800    PYTHON: python3
801    # Need a dummy TEST_ARCH that comes from artifacts
802    TEST_ARCH: arch-ci-linux-pkgs-gcov
803  allow_failure: true
804  before_script:
805    - date
806  script:
807  - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
808#  - make mergegcov LOC=$PWD
809  - ${PYTHON} lib/petsc/bin/maint/gcov.py --merge_gcov --loc=${PWD} --petsc_arch ${TEST_ARCH}
810  - ls
811  - ls arch*/*
812  artifacts:
813    name: "$CI_JOB_NAME"
814    when: always
815    paths:
816    - i*.html
817    - arch-*-gcov/*
818    expire_in: 4 days
819#
820#
821# The following tests are experimental; more tests by users at other sites may be added below this.  Experimental test
822# that fail produce a warning, but do not block execution of a pipeline.
823#
824
825.test-experimental:
826  extends: .test
827  allow_failure: true
828
829