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