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