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