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