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