xref: /petsc/.gitlab-ci.yml (revision 8f490ea3794b95f13ee021a5bbd86b59cbd03ea4)
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
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
517linux-pkgs-gcov:
518  extends:
519    - .stage-3
520    - .linux_test
521  tags:
522    - gce-nfs, linux-gcov
523  variables:
524    TEST_ARCH: arch-ci-linux-pkgs-gcov
525    RUN_GCOV: 1
526
527linux-cmplx-gcov:
528  extends:
529    - .stage-3
530    - .linux_test
531  tags:
532    - gce-nfs, linux-gcov
533  variables:
534    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -vecscatter_mpi1 false -options_left false
535    TEST_ARCH: arch-ci-linux-cmplx-gcov
536    LOAD_MODULES: gcc/8.3.0-fjpc5ys
537    RUN_GCOV: 1
538
539linux-matlab-ilp64-gcov:
540  extends:
541    - .stage-3
542    - .linux_test
543  tags:
544    - gce-nfs, linux-gcov
545  variables:
546    TEST_ARCH: arch-ci-linux-matlab-ilp64-gcov
547    LOAD_MODULES: matlab/R2018a
548    RUN_GCOV: 1
549  allow_failure: true
550
551linux-gcov:
552  extends:
553    - .stage-3
554    - .linux_test
555  tags:
556    - gce-nfs, linux-gcov
557  variables:
558    TEST_ARCH: arch-ci-linux-gcov
559    RUN_GCOV: 1
560
561linux-pgi:
562  extends:
563    - .stage-3
564    - .linux_test_noflags
565  tags:
566    - gce-nfs, linux-mcpu
567  variables:
568    TEST_ARCH: arch-ci-linux-pgi
569
570linux-nagfor:
571  extends:
572    - .stage-3
573    - .linux_test_nofflags
574  tags:
575    - gce-nfs, linux-mcpu
576  variables:
577    PATH: /usr/lib/ccache:/home/svcpetsc/.local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/nfs/gce/projects/petsc/soft/nag/6.1/bin
578    NAG_KUSARI_FILE: licman1.mcs.anl.gov:7733
579    TEST_ARCH: arch-ci-linux-nagfor
580
581linux-intel-cmplx:
582  extends:
583    - .stage-3
584    - .linux_test_noflags
585  tags:
586    - gce-nfs
587  variables:
588    TEST_ARCH: arch-ci-linux-intel-cmplx
589    LOAD_MODULES: intel-mkl/19.5 intel/19.0-nompilib
590
591linux-xsdk-dbg:
592  extends:
593    - .stage-3
594    - .linux_test
595  tags:
596    - gce-nfs
597  variables:
598    TEST_ARCH: arch-ci-linux-xsdk-dbg
599    LOAD_MODULES: gcc/8.3.0-fjpc5ys
600
601linux-analyzer:
602  extends:
603    - .stage-3
604    - .linux_test
605  tags:
606    - gce-nfs
607  variables:
608    TEST_ARCH: arch-ci-linux-analyzer
609
610linux-intel:
611  extends:
612    - .stage-3
613    - .linux_test_nofflags
614  tags:
615    - gce-nfs
616  variables:
617    TEST_ARCH: arch-ci-linux-intel
618    LOAD_MODULES: intel-mkl/19.5 intel/19.0-nompilib
619
620linux-opt-misc:
621  extends:
622    - .stage-3
623    - .linux_test
624  tags:
625    - gce-nfs
626  variables:
627    TEST_ARCH: arch-ci-linux-opt-misc
628    LOAD_MODULES: gcc/6.5.0-57usejd
629
630linux-pkgs-64idx:
631  extends:
632    - .stage-3
633    - .linux_test
634  tags:
635    - gce-nfs
636  variables:
637    TEST_ARCH: arch-ci-linux-pkgs-64idx
638    LOAD_MODULES: cmake/3.15.5-fh74toq
639
640linux-64idx-i8:
641  extends:
642    - .stage-3
643    - .linux_test
644  tags:
645    - gce-nfs
646  variables:
647    TEST_ARCH: arch-ci-linux-64idx-i8
648
649linux-gcc-ifc-cmplx:
650  extends:
651    - .stage-3
652    - .linux_test_nofflags
653  tags:
654    - gce-nfs
655  variables:
656    TEST_ARCH: arch-ci-linux-gcc-ifc-cmplx
657    LOAD_MODULES: intel/19.0-nompilib
658
659linux-opt-cxx-quad:
660  extends:
661    - .stage-3
662    - .linux_test
663  tags:
664    - gce-nfs
665  variables:
666    TEST_ARCH: arch-ci-linux-opt-cxx-quad
667
668linux-ILP64:
669  extends:
670    - .stage-3
671    - .linux_test
672  tags:
673    - gce-nfs
674  variables:
675    TEST_ARCH: arch-ci-linux-ILP64
676    LOAD_MODULES: gcc/6.5.0-57usejd
677
678linux-uni-pkgs:
679  extends:
680    - .stage-3
681    - .linux_test
682  tags:
683    - gce-nfs
684  variables:
685    TEST_ARCH: arch-ci-linux-uni-pkgs
686    LOAD_MODULES: llvm/9.0.0-7fyffox cmake/3.14.2-rl3q676
687
688linux-64idx-i8-uni:
689  extends:
690    - .stage-3
691    - .linux_test
692  tags:
693    - gce-nfs
694  variables:
695    TEST_ARCH: arch-ci-linux-64idx-i8-uni
696
697mswin-intel-cxx-cmplx:
698  extends:
699    - .stage-3
700    - .mswin_test
701  tags:
702    - name:ps5
703  variables:
704    TEST_ARCH: arch-ci-mswin-intel-cxx-cmplx
705
706mswin-intel:
707  extends:
708    - .stage-3
709    - .mswin_test
710  tags:
711    - name:ps5
712  variables:
713    TEST_ARCH: arch-ci-mswin-intel
714
715mswin-opt-impi:
716  extends:
717    - .stage-3
718    - .mswin_test
719  tags:
720    - name:ps4
721  variables:
722    TEST_ARCH: arch-ci-mswin-opt-impi
723  allow_failure: true
724
725opensolaris-pkgs-opt:
726  extends:
727    - .stage-3
728    - .opensolaris_test
729  tags:
730    - name:n-gage
731  variables:
732    TEST_ARCH: arch-ci-opensolaris-pkgs-opt
733
734opensolaris-cmplx-pkgs-dbg:
735  extends:
736    - .stage-3
737    - .opensolaris_test
738  tags:
739    - name:n-gage
740  variables:
741    TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg
742
743opensolaris-misc:
744  extends:
745    - .stage-3
746    - .opensolaris_test
747  tags:
748    - name:n-gage
749  variables:
750    TEST_ARCH: arch-ci-opensolaris-misc
751
752osx-cxx-cmplx-pkgs-dbg:
753  extends:
754    - .stage-3
755    - .osx_test
756  tags:
757    - os:macos
758  variables:
759    TEST_ARCH: arch-ci-osx-cxx-cmplx-pkgs-dbg
760
761osx-cxx-pkgs-opt:
762  extends:
763    - .stage-3
764    - .osx_test
765  tags:
766    - os:macos, opt
767  variables:
768    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
769    TEST_ARCH: arch-ci-osx-cxx-pkgs-opt
770    MAKE_CXXFLAGS: -Werror -Wno-pass-failed
771
772osx-dbg:
773  extends:
774    - .stage-3
775    - .osx_test
776  tags:
777    - os:macos
778  variables:
779    TEST_ARCH: arch-ci-osx-dbg
780
781osx-xsdk-opt:
782  extends:
783    - .stage-3
784    - .osx_test
785  tags:
786    - os:macos, opt
787  variables:
788    TEST_ARCH: arch-ci-osx-xsdk-opt
789
790# job for analyzing the final coverage results
791analyze-pipeline:
792  extends: .test
793  stage: .post
794  image: jedbrown/mpich-ccache
795  tags:
796    - docker
797  dependencies:
798  variables:
799    PYTHON: python3
800    # Need a dummy TEST_ARCH that comes from artifacts
801    TEST_ARCH: arch-ci-linux-pkgs-gcov
802  allow_failure: true
803  before_script:
804    - date
805  script:
806  - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
807#  - make mergegcov LOC=$PWD
808  - ${PYTHON} lib/petsc/bin/maint/gcov.py --merge_gcov --loc=${PWD} --petsc_arch ${TEST_ARCH}
809  - ls
810  - ls arch*/*
811  artifacts:
812    name: "$CI_JOB_NAME"
813    when: always
814    paths:
815    - i*.html
816    - arch-*-gcov/*
817    expire_in: 4 days
818#
819#
820# The following tests are experimental; more tests by users at other sites may be added below this.  Experimental test
821# that fail produce a warning, but do not block execution of a pipeline.
822#
823
824.test-experimental:
825  extends: .test
826  allow_failure: true
827
828