xref: /petsc/.gitlab-ci.yml (revision 0f7b553d431b7fa2ea05ffce266fc833ccce4c02)
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_TESTS+x} ]; then make CFLAGS="${MAKE_CFLAGS}" CXXFLAGS="${MAKE_CXXFLAGS}" FFLAGS="${MAKE_FFLAGS}" cleantest allgtests-tap TIMEOUT=${TIMEOUT}; fi
160    - if [ ! -z ${RUN_GCOV+x} ]; then make gcov && bash <(curl -s https://codecov.io/bash) -c > /dev/null 2>&1; fi
161  artifacts:
162    reports:
163      junit: ${TEST_ARCH}/tests/testresults.xml
164    name: "$CI_JOB_NAME"
165    when: always
166    paths:
167    - ${TEST_ARCH}/lib/petsc/conf/*.log
168    - ${TEST_ARCH}/lib/pkgconfig/PETSc.pc
169    - ${TEST_ARCH}/tests/testresults.xml
170    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
171    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
172    - ${TEST_ARCH}/gcov.tar.gz
173    expire_in: 4 days
174  variables:
175    OPENBLAS_NUM_THREADS: 1
176
177.stage-2:
178  extends: .stage-23
179  stage: stage-2
180
181.stage-3:
182  extends: .stage-23
183  stage: stage-3
184
185#
186# The following provide templates for various OSes for pre/post info
187#
188
189.linux_test_noflags:
190  before_script:
191    - date
192    - hostname
193    - grep PRETTY_NAME /etc/os-release
194    - nproc
195    - lscpu
196    - ccache --zero-stats
197    - if [ ! -z ${LOAD_MODULES+x} ]; then module --trace load ${LOAD_MODULES}; module list; fi
198    - if [ ! -z ${INIT_SCRIPT+x} ]; then echo "sourcing ${INIT_SCRIPT}"; source ${INIT_SCRIPT}; fi
199  after_script:
200    - date
201    - ccache --show-stats
202
203.linux_test_nofflags:
204  extends: .linux_test_noflags
205  variables:
206    MAKE_CFLAGS: -Werror
207    MAKE_CXXFLAGS: -Werror
208
209.linux_test:
210  extends: .linux_test_noflags
211  variables:
212    MAKE_CFLAGS: -Werror
213    MAKE_CXXFLAGS: -Werror
214    MAKE_FFLAGS: -Werror
215
216.freebsd_test:
217  variables:
218    MAKE_CFLAGS: -Werror
219    MAKE_CXXFLAGS: -Werror
220    MAKE_FFLAGS: -Werror
221  before_script:
222    - date
223    - hostname
224    - freebsd-version
225    - echo $(sysctl -n hw.ncpu)
226    - ccache --zero-stats
227  after_script:
228    - date
229    - ccache --show-stats
230
231.osx_test:
232  variables:
233    MAKE_CFLAGS: -Werror
234    MAKE_CXXFLAGS: -Werror
235    MAKE_FFLAGS: -Werror
236  before_script:
237    - date
238    - hostname
239    - sw_vers -productVersion
240    - echo $(sysctl -n hw.ncpu)
241    - ccache --zero-stats
242  after_script:
243    - date
244    - ccache --show-stats
245
246.opensolaris_test:
247  before_script:
248    - date
249    - hostname
250    - uname -a
251    - nproc
252    - isainfo -x
253  after_script:
254    - date
255
256.mswin_test:
257  before_script:
258    - date
259    - hostname
260    - uname -a
261    - nproc
262  after_script:
263    - date
264
265#
266# The following tests run as part of stage-2.
267#
268# The tags variable used in the tests below connects the particular test with the runners
269# listed on the left hand side of https://gitlab.com/petsc/petsc/-/settings/ci_cd.
270# For example the test linux-gcc-complex-opt  any runner that has the tag 'name:pj02'
271# (in a blue box beneath it)
272#
273
274freebsd-cxx-cmplx-64idx-dbg:
275  extends:
276    - .stage-2
277    - .freebsd_test
278  tags:
279    - os:fbsd
280  variables:
281    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-64idx-dbg
282
283freebsd-c-single-opt:
284  extends:
285    - .stage-2
286    - .freebsd_test
287  tags:
288    - os:fbsd
289  variables:
290    TEST_ARCH: arch-ci-freebsd-c-single-opt
291
292linux-cuda-double:
293  extends:
294    - .stage-2
295    - .linux_test
296  tags:
297    - gpu:nvidia, os:linux, name:p1
298  variables:
299    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump
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    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump
428    TEST_ARCH: arch-ci-linux-cuda-complex
429
430linux-cuda-double-64idx:
431  extends:
432    - .stage-3
433    - .linux_test
434  tags:
435    - gpu:nvidia, os:linux, name:p1
436  variables:
437    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump
438    TEST_ARCH: arch-ci-linux-cuda-double-64idx
439
440linux-cuda-single-cxx:
441  extends:
442    - .stage-3
443    - .linux_test
444  tags:
445    - gpu:nvidia, os:linux, name:frog
446  variables:
447    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -use_gpu_aware_mpi 0
448    TEST_ARCH: arch-ci-linux-cuda-single-cxx
449
450linux-cuda-uni-pkgs:
451  extends:
452    - .stage-3
453    - .linux_test
454  tags:
455    - gpu:nvidia, os:linux, name:frog
456  variables:
457    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump
458    TEST_ARCH: arch-ci-linux-cuda-uni-pkgs
459
460linux-viennacl:
461  extends:
462    - .stage-3
463    - .linux_test
464  tags:
465    - gpu:nvidia, os:linux
466  variables:
467    TEST_ARCH: arch-ci-linux-viennacl
468    MAKE_CXXFLAGS: -Werror -Wno-ignored-attributes
469
470linux-viennacl-cuda:
471  extends:
472    - .stage-3
473    - .linux_test
474  tags:
475    - gpu:nvidia, os:linux
476  variables:
477    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -use_gpu_aware_mpi 0
478    TEST_ARCH: arch-ci-linux-viennacl-cuda
479    MAKE_CXXFLAGS: -Werror -Wno-ignored-attributes -Wno-parentheses
480
481linux-without-fc:
482  extends:
483    - .stage-3
484    - .linux_test
485  tags:
486    - gce-nfs
487  variables:
488    TEST_ARCH: arch-ci-linux-without-fc
489
490linux-cmplx-single:
491  extends:
492    - .stage-3
493    - .linux_test
494  tags:
495    - name:si
496  variables:
497    TEST_ARCH: arch-ci-linux-cmplx-single
498
499linux-gcc-cxx-avx2:
500  extends:
501    - .stage-3
502    - .linux_test
503  tags:
504    - name:isdp001
505  variables:
506    TEST_ARCH: arch-ci-linux-gcc-cxx-avx2
507
508linux-clang-avx:
509  extends:
510    - .stage-3
511    - .linux_test
512  tags:
513    - name:isdp001
514  variables:
515    TEST_ARCH: arch-ci-linux-clang-avx
516
517linux-knl:
518  extends:
519    - .stage-3
520    - .linux_test
521  tags:
522    - name:isdp001
523  variables:
524    TEST_ARCH: arch-ci-linux-knl
525
526linux-intel-mkl-single:
527  extends:
528    - .stage-3
529    - .linux_test_noflags
530  tags:
531    - name:isdp001
532  variables:
533    TEST_ARCH: arch-ci-linux-intel-mkl-single
534
535linux-cxx-cmplx-pkgs-64idx:
536  extends:
537    - .stage-3
538    - .linux_test
539  tags:
540    - gce-nfs
541  variables:
542    TEST_ARCH: arch-ci-linux-cxx-cmplx-pkgs-64idx
543    LOAD_MODULES: llvm/9.0.0-7fyffox gcc/8.3.0-fjpc5ys cmake/3.14.2-rl3q676
544
545linux-pkgs-dbg-ftn-interfaces:
546  extends:
547    - .stage-3
548    - .linux_test
549  tags:
550    - gce-nfs
551  variables:
552    TEST_ARCH: arch-ci-linux-pkgs-dbg-ftn-interfaces
553
554linux-pkgs-cxx-mlib:
555  extends:
556    - .stage-3
557    - .linux_test
558  tags:
559    - gce-nfs
560  variables:
561    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
562    TEST_ARCH: arch-ci-linux-pkgs-cxx-mlib
563
564linux-pkgs-valgrind:
565  extends:
566    - .stage-3
567    - .linux_test
568  tags:
569    - gce-nfs, linux-fast
570  variables:
571    TEST_ARCH: arch-ci-linux-pkgs-valgrind
572    TIMEOUT: 7200
573
574linux-pkgs-opt:
575  extends:
576    - .stage-3
577    - .linux_test
578  tags:
579    - gce-nfs, linux-fast
580  variables:
581    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
582    TEST_ARCH: arch-ci-linux-pkgs-opt
583    LOAD_MODULES: gcc/10.1.0-5hiqhdh
584
585linux-pkgs-gcov:
586  extends:
587    - .stage-3
588    - .linux_test
589  tags:
590    - gce-nfs, linux-gcov
591  variables:
592    TEST_ARCH: arch-ci-linux-pkgs-gcov
593    RUN_GCOV: 1
594
595linux-cmplx-gcov:
596  extends:
597    - .stage-3
598    - .linux_test
599  tags:
600    - gce-nfs, linux-gcov
601  variables:
602    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -vecscatter_mpi1 false -options_left false
603    TEST_ARCH: arch-ci-linux-cmplx-gcov
604    LOAD_MODULES: gcc/8.3.0-fjpc5ys
605    RUN_GCOV: 1
606
607linux-matlab-ilp64-gcov:
608  extends:
609    - .stage-3
610    - .linux_test
611  tags:
612    - gce-nfs, linux-gcov
613  variables:
614    TEST_ARCH: arch-ci-linux-matlab-ilp64-gcov
615    LOAD_MODULES: matlab/R2018a
616    RUN_GCOV: 1
617  allow_failure: true
618
619linux-gcov:
620  extends:
621    - .stage-3
622    - .linux_test
623  tags:
624    - gce-nfs, linux-gcov
625  variables:
626    TEST_ARCH: arch-ci-linux-gcov
627    RUN_GCOV: 1
628
629linux-pgi:
630  extends:
631    - .stage-3
632    - .linux_test_noflags
633  tags:
634    - gce-nfs, linux-mcpu
635  variables:
636    TEST_ARCH: arch-ci-linux-pgi
637
638linux-nagfor:
639  extends:
640    - .stage-3
641    - .linux_test_nofflags
642  tags:
643    - gce-nfs, linux-mcpu
644  variables:
645    PATH: /usr/lib/ccache:/home/svcpetsc/.local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/nfs/gce/projects/petsc/soft/nag/6.1/bin
646    NAG_KUSARI_FILE: licman1.mcs.anl.gov:7733
647    TEST_ARCH: arch-ci-linux-nagfor
648
649linux-intel-cmplx:
650  extends:
651    - .stage-3
652    - .linux_test_noflags
653  tags:
654    - gce-nfs
655  variables:
656    TEST_ARCH: arch-ci-linux-intel-cmplx
657    LOAD_MODULES: intel-mkl/19.5 intel/19.0-nompilib
658
659linux-xsdk-dbg:
660  extends:
661    - .stage-3
662    - .linux_test
663  tags:
664    - gce-nfs
665  variables:
666    TEST_ARCH: arch-ci-linux-xsdk-dbg
667    LOAD_MODULES: gcc/8.3.0-fjpc5ys
668
669linux-analyzer:
670  extends:
671    - .stage-3
672    - .linux_test
673  tags:
674    - gce-nfs
675  variables:
676    TEST_ARCH: arch-ci-linux-analyzer
677
678linux-intel:
679  extends:
680    - .stage-3
681    - .linux_test_nofflags
682  tags:
683    - gce-nfs
684  variables:
685    TEST_ARCH: arch-ci-linux-intel
686    LOAD_MODULES: intel-mkl/19.5 intel/19.0-nompilib
687
688linux-opt-misc:
689  extends:
690    - .stage-3
691    - .linux_test
692  tags:
693    - gce-nfs
694  variables:
695    TEST_ARCH: arch-ci-linux-opt-misc
696    LOAD_MODULES: gcc/6.5.0-57usejd
697
698linux-pkgs-64idx:
699  extends:
700    - .stage-3
701    - .linux_test
702  tags:
703    - gce-nfs
704  variables:
705    TEST_ARCH: arch-ci-linux-pkgs-64idx
706    LOAD_MODULES: cmake/3.15.5-fh74toq
707
708linux-64idx-i8:
709  extends:
710    - .stage-3
711    - .linux_test
712  tags:
713    - gce-nfs
714  variables:
715    TEST_ARCH: arch-ci-linux-64idx-i8
716
717linux-gcc-ifc-cmplx:
718  extends:
719    - .stage-3
720    - .linux_test_nofflags
721  tags:
722    - gce-nfs
723  variables:
724    TEST_ARCH: arch-ci-linux-gcc-ifc-cmplx
725    LOAD_MODULES: intel/19.0-nompilib
726
727linux-opt-cxx-quad:
728  extends:
729    - .stage-3
730    - .linux_test
731  tags:
732    - gce-nfs
733  variables:
734    TEST_ARCH: arch-ci-linux-opt-cxx-quad
735
736linux-ILP64:
737  extends:
738    - .stage-3
739    - .linux_test
740  tags:
741    - gce-nfs
742  variables:
743    TEST_ARCH: arch-ci-linux-ILP64
744    LOAD_MODULES: gcc/6.5.0-57usejd
745
746linux-64idx-i8-uni:
747  extends:
748    - .stage-3
749    - .linux_test
750  tags:
751    - gce-nfs
752  variables:
753    TEST_ARCH: arch-ci-linux-64idx-i8-uni
754
755mswin-intel-cxx-cmplx:
756  extends:
757    - .stage-3
758    - .mswin_test
759  tags:
760    - name:ps5
761  variables:
762    TEST_ARCH: arch-ci-mswin-intel-cxx-cmplx
763
764mswin-intel:
765  extends:
766    - .stage-3
767    - .mswin_test
768  tags:
769    - name:ps5
770  variables:
771    TEST_ARCH: arch-ci-mswin-intel
772
773mswin-opt-impi:
774  extends:
775    - .stage-3
776    - .mswin_test
777  tags:
778    - name:ps4
779  variables:
780    TEST_ARCH: arch-ci-mswin-opt-impi
781    DISABLE_TESTS: 1
782
783opensolaris-pkgs-opt:
784  extends:
785    - .stage-3
786    - .opensolaris_test
787  tags:
788    - name:n-gage
789  variables:
790    TEST_ARCH: arch-ci-opensolaris-pkgs-opt
791
792opensolaris-cmplx-pkgs-dbg:
793  extends:
794    - .stage-3
795    - .opensolaris_test
796  tags:
797    - name:n-gage
798  variables:
799    TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg
800
801opensolaris-misc:
802  extends:
803    - .stage-3
804    - .opensolaris_test
805  tags:
806    - name:n-gage
807  variables:
808    TEST_ARCH: arch-ci-opensolaris-misc
809
810osx-cxx-cmplx-pkgs-dbg:
811  extends:
812    - .stage-3
813    - .osx_test
814  tags:
815    - os:macos
816  variables:
817    TEST_ARCH: arch-ci-osx-cxx-cmplx-pkgs-dbg
818
819osx-cxx-pkgs-opt:
820  extends:
821    - .stage-3
822    - .osx_test
823  tags:
824    - os:macos, opt
825  variables:
826    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
827    TEST_ARCH: arch-ci-osx-cxx-pkgs-opt
828    MAKE_CXXFLAGS: -Werror -Wno-pass-failed
829
830osx-dbg:
831  extends:
832    - .stage-3
833    - .osx_test
834  tags:
835    - os:macos
836  variables:
837    TEST_ARCH: arch-ci-osx-dbg
838
839osx-xsdk-opt:
840  extends:
841    - .stage-3
842    - .osx_test
843  tags:
844    - os:macos, opt
845  variables:
846    TEST_ARCH: arch-ci-osx-xsdk-opt
847
848# job for analyzing the final coverage results
849analyze-pipeline:
850  extends: .test
851  stage: .post
852  tags:
853    - gce-nfs
854  dependencies:
855    - linux-c-exodus-dbg
856    - linux-pkgs-gcov
857    - linux-cmplx-gcov
858    - linux-matlab-ilp64-gcov
859    - linux-gcov
860  variables:
861    PETSC_ARCH: arch-ci-analyze-pipeline
862  before_script:
863    - date
864    - hostname
865  script:
866  - git fetch --unshallow --no-tags origin +master:remotes/origin/master
867  - ./configure --with-mpi=0 --with-cxx=0 --with-c2html
868  - make srchtml
869  - make mergegcov
870  artifacts:
871    name: "$CI_JOB_NAME"
872    when: always
873    paths:
874    - arch-ci-analyze-pipeline/*
875    expire_in: 4 days
876#
877#
878# The following tests are experimental; more tests by users at other sites may be added below this.  Experimental test
879# that fail produce a warning, but do not block execution of a pipeline.
880#
881
882.test-experimental:
883  extends: .test
884  allow_failure: true
885
886