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