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