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