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