xref: /petsc/.gitlab-ci.yml (revision 589b824a9aa9bac1e5c8bc59cd1afe78d527aa97)
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}; 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    - name:ps5-2
337  variables:
338    TEST_ARCH: arch-ci-mswin-uni
339
340mswin-gnu:
341  extends:
342    - .stage-2
343    - .mswin_test
344  tags:
345    - name:ps5-3
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
422linux-cuda11:
423  extends:
424    - .stage-3
425    - .linux_test
426  tags:
427    - gpu:nvidia, os:linux, name:frog
428  variables:
429    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -use_gpu_aware_mpi 0
430    TEST_ARCH: arch-ci-linux-cuda11
431    DISABLE_TESTS: 1
432
433linux-cuda-complex:
434  extends:
435    - .stage-3
436    - .linux_test
437  tags:
438    - gpu:nvidia, os:linux, name:p1
439  variables:
440    TEST_ARCH: arch-ci-linux-cuda-complex
441
442linux-cuda-double-64idx:
443  extends:
444    - .stage-3
445    - .linux_test
446  tags:
447    - gpu:nvidia, os:linux, name:p1
448  variables:
449    TEST_ARCH: arch-ci-linux-cuda-double-64idx
450
451linux-cuda-single-cxx:
452  extends:
453    - .stage-3
454    - .linux_test
455  tags:
456    - gpu:nvidia, os:linux
457  variables:
458    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -use_gpu_aware_mpi 0
459    TEST_ARCH: arch-ci-linux-cuda-single-cxx
460
461linux-cuda-uni-pkgs:
462  extends:
463    - .stage-3
464    - .linux_test
465  tags:
466    - gpu:nvidia, os:linux
467  variables:
468    TEST_ARCH: arch-ci-linux-cuda-uni-pkgs
469
470linux-viennacl:
471  extends:
472    - .stage-3
473    - .linux_test
474  tags:
475    - gpu:nvidia, os:linux
476  variables:
477    TEST_ARCH: arch-ci-linux-viennacl
478    MAKE_CXXFLAGS: -Werror -Wno-ignored-attributes
479
480linux-viennacl-cuda:
481  extends:
482    - .stage-3
483    - .linux_test
484  tags:
485    - gpu:nvidia, os:linux
486  variables:
487    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -use_gpu_aware_mpi 0
488    TEST_ARCH: arch-ci-linux-viennacl-cuda
489    MAKE_CXXFLAGS: -Werror -Wno-ignored-attributes -Wno-parentheses
490
491linux-without-fc:
492  extends:
493    - .stage-3
494    - .linux_test
495  tags:
496    - gce-nfs
497  variables:
498    TEST_ARCH: arch-ci-linux-without-fc
499
500linux-cmplx-single:
501  extends:
502    - .stage-3
503    - .linux_test
504  tags:
505    - name:si
506  variables:
507    TEST_ARCH: arch-ci-linux-cmplx-single
508
509linux-gcc-cxx-avx2:
510  extends:
511    - .stage-3
512    - .linux_test
513  tags:
514    - name:isdp001
515  variables:
516    TEST_ARCH: arch-ci-linux-gcc-cxx-avx2
517
518linux-clang-avx:
519  extends:
520    - .stage-3
521    - .linux_test
522  tags:
523    - name:isdp001
524  variables:
525    TEST_ARCH: arch-ci-linux-clang-avx
526
527linux-knl:
528  extends:
529    - .stage-3
530    - .linux_test
531  tags:
532    - name:isdp001
533  variables:
534    TEST_ARCH: arch-ci-linux-knl
535
536linux-intel-mkl-single:
537  extends:
538    - .stage-3
539    - .linux_test_noflags
540  tags:
541    - name:isdp001
542  variables:
543    TEST_ARCH: arch-ci-linux-intel-mkl-single
544
545linux-cxx-cmplx-pkgs-64idx:
546  extends:
547    - .stage-3
548    - .linux_test
549  tags:
550    - gce-nfs
551  variables:
552    TEST_ARCH: arch-ci-linux-cxx-cmplx-pkgs-64idx
553    LOAD_MODULES: llvm/9.0.0-7fyffox gcc/8.3.0-fjpc5ys cmake/3.14.2-rl3q676
554
555linux-pkgs-dbg-ftn-interfaces:
556  extends:
557    - .stage-3
558    - .linux_test
559  tags:
560    - gce-nfs
561  variables:
562    TEST_ARCH: arch-ci-linux-pkgs-dbg-ftn-interfaces
563
564linux-pkgs-cxx-mlib:
565  extends:
566    - .stage-3
567    - .linux_test
568  tags:
569    - gce-nfs
570  variables:
571    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
572    TEST_ARCH: arch-ci-linux-pkgs-cxx-mlib
573
574linux-pkgs-valgrind:
575  extends:
576    - .stage-3
577    - .linux_test
578  tags:
579    - gce-nfs, linux-fast
580  variables:
581    TEST_ARCH: arch-ci-linux-pkgs-valgrind
582    TIMEOUT: 7200
583
584linux-pkgs-opt:
585  extends:
586    - .stage-3
587    - .linux_test
588  tags:
589    - gce-nfs, linux-fast
590  variables:
591    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
592    TEST_ARCH: arch-ci-linux-pkgs-opt
593    LOAD_MODULES: gcc/10.1.0-5hiqhdh
594
595linux-pkgs-gcov:
596  extends:
597    - .stage-3
598    - .linux_test
599  tags:
600    - gce-nfs, linux-gcov
601  variables:
602    TEST_ARCH: arch-ci-linux-pkgs-gcov
603    RUN_GCOV: 1
604
605linux-cmplx-gcov:
606  extends:
607    - .stage-3
608    - .linux_test
609  tags:
610    - gce-nfs, linux-gcov
611  variables:
612    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -vecscatter_mpi1 false -options_left false
613    TEST_ARCH: arch-ci-linux-cmplx-gcov
614    LOAD_MODULES: gcc/8.3.0-fjpc5ys
615    RUN_GCOV: 1
616
617linux-matlab-ilp64-gcov:
618  extends:
619    - .stage-3
620    - .linux_test
621  tags:
622    - gce-nfs, linux-gcov
623  variables:
624    TEST_ARCH: arch-ci-linux-matlab-ilp64-gcov
625    LOAD_MODULES: matlab/R2018a
626    RUN_GCOV: 1
627  allow_failure: true
628
629linux-gcov:
630  extends:
631    - .stage-3
632    - .linux_test
633  tags:
634    - gce-nfs, linux-gcov
635  variables:
636    TEST_ARCH: arch-ci-linux-gcov
637    RUN_GCOV: 1
638
639linux-pgi:
640  extends:
641    - .stage-3
642    - .linux_test_noflags
643  tags:
644    - gce-nfs, linux-mcpu
645  variables:
646    TEST_ARCH: arch-ci-linux-pgi
647
648linux-nagfor:
649  extends:
650    - .stage-3
651    - .linux_test_nofflags
652  tags:
653    - gce-nfs, linux-mcpu
654  variables:
655    PATH: /usr/lib/ccache:/home/svcpetsc/.local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/nfs/gce/projects/petsc/soft/nag/6.1/bin
656    NAG_KUSARI_FILE: licman1.mcs.anl.gov:7733
657    TEST_ARCH: arch-ci-linux-nagfor
658
659linux-intel-cmplx:
660  extends:
661    - .stage-3
662    - .linux_test_noflags
663  tags:
664    - gce-nfs
665  variables:
666    TEST_ARCH: arch-ci-linux-intel-cmplx
667    LOAD_MODULES: intel-mkl/19.5 intel/19.0-nompilib
668    ENABLE_PETSC4PY_LDPRELOAD: 1
669
670linux-xsdk-dbg:
671  extends:
672    - .stage-3
673    - .linux_test
674  tags:
675    - gce-nfs
676  variables:
677    TEST_ARCH: arch-ci-linux-xsdk-dbg
678    LOAD_MODULES: gcc/8.3.0-fjpc5ys
679
680linux-analyzer:
681  extends:
682    - .stage-3
683    - .linux_test
684  tags:
685    - gce-nfs
686  variables:
687    TEST_ARCH: arch-ci-linux-analyzer
688
689linux-intel:
690  extends:
691    - .stage-3
692    - .linux_test_nofflags
693  tags:
694    - gce-nfs
695  variables:
696    TEST_ARCH: arch-ci-linux-intel
697    LOAD_MODULES: intel-mkl/19.5 intel/19.0-nompilib
698
699linux-opt-misc:
700  extends:
701    - .stage-3
702    - .linux_test
703  tags:
704    - gce-nfs
705  variables:
706    TEST_ARCH: arch-ci-linux-opt-misc
707    LOAD_MODULES: gcc/6.5.0-57usejd
708
709linux-pkgs-64idx:
710  extends:
711    - .stage-3
712    - .linux_test
713  tags:
714    - gce-nfs
715  variables:
716    TEST_ARCH: arch-ci-linux-pkgs-64idx
717    LOAD_MODULES: cmake/3.15.5-fh74toq
718
719linux-64idx-i8:
720  extends:
721    - .stage-3
722    - .linux_test
723  tags:
724    - gce-nfs
725  variables:
726    TEST_ARCH: arch-ci-linux-64idx-i8
727
728linux-gcc-ifc-cmplx:
729  extends:
730    - .stage-3
731    - .linux_test_nofflags
732  tags:
733    - gce-nfs
734  variables:
735    TEST_ARCH: arch-ci-linux-gcc-ifc-cmplx
736    LOAD_MODULES: intel/19.0-nompilib
737
738linux-opt-cxx-quad:
739  extends:
740    - .stage-3
741    - .linux_test
742  tags:
743    - gce-nfs
744  variables:
745    TEST_ARCH: arch-ci-linux-opt-cxx-quad
746
747linux-ILP64:
748  extends:
749    - .stage-3
750    - .linux_test
751  tags:
752    - gce-nfs
753  variables:
754    TEST_ARCH: arch-ci-linux-ILP64
755    LOAD_MODULES: gcc/6.5.0-57usejd
756
757linux-64idx-i8-uni:
758  extends:
759    - .stage-3
760    - .linux_test
761  tags:
762    - gce-nfs
763  variables:
764    TEST_ARCH: arch-ci-linux-64idx-i8-uni
765
766mswin-intel-cxx-cmplx:
767  extends:
768    - .stage-3
769    - .mswin_test
770  tags:
771    - name:ps5
772  variables:
773    TEST_ARCH: arch-ci-mswin-intel-cxx-cmplx
774
775mswin-intel:
776  extends:
777    - .stage-3
778    - .mswin_test
779  tags:
780    - name:ps5
781  variables:
782    TEST_ARCH: arch-ci-mswin-intel
783
784mswin-opt-impi:
785  extends:
786    - .stage-3
787    - .mswin_test
788  tags:
789    - name:ps4
790  variables:
791    TEST_ARCH: arch-ci-mswin-opt-impi
792    DISABLE_TESTS: 1
793
794opensolaris-pkgs-opt:
795  extends:
796    - .stage-3
797    - .opensolaris_test
798  tags:
799    - name:n-gage
800  variables:
801    TEST_ARCH: arch-ci-opensolaris-pkgs-opt
802
803opensolaris-cmplx-pkgs-dbg:
804  extends:
805    - .stage-3
806    - .opensolaris_test
807  tags:
808    - name:n-gage
809  variables:
810    TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg
811
812opensolaris-misc:
813  extends:
814    - .stage-3
815    - .opensolaris_test
816  tags:
817    - name:n-gage
818  variables:
819    TEST_ARCH: arch-ci-opensolaris-misc
820
821osx-cxx-cmplx-pkgs-dbg:
822  extends:
823    - .stage-3
824    - .osx_test
825  tags:
826    - os:macos
827  variables:
828    TEST_ARCH: arch-ci-osx-cxx-cmplx-pkgs-dbg
829
830osx-cxx-pkgs-opt:
831  extends:
832    - .stage-3
833    - .osx_test
834  tags:
835    - os:macos, opt
836  variables:
837    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
838    TEST_ARCH: arch-ci-osx-cxx-pkgs-opt
839    MAKE_CXXFLAGS: -Werror -Wno-pass-failed
840
841osx-dbg:
842  extends:
843    - .stage-3
844    - .osx_test
845  tags:
846    - os:macos
847  variables:
848    TEST_ARCH: arch-ci-osx-dbg
849
850osx-xsdk-opt:
851  extends:
852    - .stage-3
853    - .osx_test
854  tags:
855    - os:macos, opt
856  variables:
857    TEST_ARCH: arch-ci-osx-xsdk-opt
858
859# job for analyzing the final coverage results
860analyze-pipeline:
861  extends: .test
862  stage: .post
863  tags:
864    - gce-nfs
865  dependencies:
866    - linux-c-exodus-dbg
867    - linux-pkgs-gcov
868    - linux-cmplx-gcov
869    - linux-matlab-ilp64-gcov
870    - linux-gcov
871  variables:
872    PETSC_ARCH: arch-ci-analyze-pipeline
873  before_script:
874    - date
875    - hostname
876  script:
877  - git fetch --unshallow --no-tags origin +master:remotes/origin/master
878  - ./configure --with-mpi=0 --with-cxx=0 --with-c2html
879  - make srchtml
880  - make mergegcov
881  artifacts:
882    name: "$CI_JOB_NAME"
883    when: always
884    paths:
885    - arch-ci-analyze-pipeline/*
886    expire_in: 4 days
887#
888#
889# The following tests are experimental; more tests by users at other sites may be added below this.  Experimental test
890# that fail produce a warning, but do not block execution of a pipeline.
891#
892
893.test-experimental:
894  extends: .test
895  allow_failure: true
896
897