xref: /petsc/.gitlab-ci.yml (revision 4e811baf54e616ada213b29cb2aa82e0f87aa4fe)
128d80369SJed Brown#
29c15ed49SBarry Smith# stage-1 take only a few minutes and generally run on the cloud; they do not run the full test suite or external packages.
328d80369SJed Brown#
49c15ed49SBarry Smith# 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
504df5595SBarry Smith#
69c15ed49SBarry Smith# 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
79c15ed49SBarry Smith#         (not yet implemented)
804df5595SBarry Smith#
99c15ed49SBarry Smith# The stage-(n) tests are only started if all of the stage-(n-1) tests run without error
109c15ed49SBarry Smith#   You can limit the testing by using the variable STAGE with value 1 or 2
119c15ed49SBarry Smith#
129c15ed49SBarry Smith# By default the test branch is merged to master before testing. (not yet implemented)
139c15ed49SBarry Smith#   You can limite this by using the variable MERGETOMASTER with value 0 (not yet implemented)
1428d80369SJed Brown#
1528d80369SJed Brown
16340aff75SJed Brownstages:
179c15ed49SBarry Smith  - stage-1
189c15ed49SBarry Smith  - stage-2
199c15ed49SBarry Smith  - stage-3
20340aff75SJed Brownvariables:
21340aff75SJed Brown  GIT_STRATEGY: fetch
22c592e2e1SSatish Balay  GIT_CLEAN_FLAGS: -ffdxq
23a3e7580aSSatish Balay  PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump
24ea9ab0baSSatish Balay  TIMEOUT: 600
25340aff75SJed Brown
2628d80369SJed Brown#
279c15ed49SBarry Smith# The most basic template that most tests will expand upon. In particular merge requests and branch pushes DO NOT trigger testing
2828d80369SJed Brown#
2928d80369SJed Brown
30e74c1a09SJed Brown.test:
31410f5c6aSJed Brown  only:
320962a0d6SJed Brown    refs:
339c15ed49SBarry Smith#     Set with CI/CD Shedules - New Schedule
349c15ed49SBarry Smith      - schedules
359c15ed49SBarry Smith#     Set with CI/CD Pipelines - Run Pipeline
3642cde88bSBarry Smith      - web
379fbb52e5SScott Kruger  dependencies: []
3828d80369SJed Brown
3928d80369SJed Brown#
409c15ed49SBarry Smith#  This provides the basic order of operations and options template for cloud based stage 1 tests.
4128d80369SJed Brown#  Not all test-short need to follow this template but most will.
4228d80369SJed Brown#
4328d80369SJed Brown
449c15ed49SBarry Smith.stage-1:
4528d80369SJed Brown  extends: .test
469c15ed49SBarry Smith  stage: stage-1
4728d80369SJed Brown  image: jedbrown/mpich-ccache
488dbf1e66SSatish Balay  tags:
498dbf1e66SSatish Balay    - docker
50340aff75SJed Brown  before_script:
5144862ab0SSatish Balay    - date
52340aff75SJed Brown    - echo nproc=$(nproc)
53340aff75SJed Brown    - cat /proc/cpuinfo
54525f0e14SJed Brown    - export CCACHE_COMPILERCHECK=content
5504bc68e0SJed Brown    - export CCACHE_DIR=$(pwd)/.ccache
5604bc68e0SJed Brown    - ccache --show-stats
5704bc68e0SJed Brown    - ccache --zero-stats
58aaf6ae27SBarry Smith    - echo CONFIG_OPTS=$(CONFIG_OPTS)
59340aff75SJed Brown  script:
601c6b2e5dSSatish Balay    - ${PYTHON} ./configure --with-debugging=0 COPTFLAGS='-O -march=native' CXXOPTFLAGS='-O -march=native' FOPTFLAGS='-O -march=native' ${CONFIG_OPTS}
61bb8bb6b6SSatish Balay    - make CFLAGS=-Werror CXXFLAGS=-Werror
62ecf4a1a3SSatish Balay    - make CFLAGS=-Werror CXXFLAGS=-Werror allgtests-tap search="${TEST_SEARCH}" TIMEOUT=${TIMEOUT}
633d889285SJed Brown  after_script:
6444862ab0SSatish Balay    - date
6504bc68e0SJed Brown    - CCACHE_DIR=$(pwd)/.ccache ccache --show-stats
66e22b0966SJed Brown  artifacts:
67e22b0966SJed Brown    reports:
68e22b0966SJed Brown      junit: arch-*/tests/testresults.xml
699fbb52e5SScott Kruger    name: "$CI_JOB_NAME"
709fbb52e5SScott Kruger    when: always
719fbb52e5SScott Kruger    paths:
728ed11d4aSPatrick Sanan    - arch-*/lib/petsc/conf/*.log
739fbb52e5SScott Kruger    - arch-*/tests/testresults.xml
749fbb52e5SScott Kruger    - arch-*/tests/test_*_tap.log
759fbb52e5SScott Kruger    - arch-*/tests/test_*_err.log
769fbb52e5SScott Kruger    expire_in: 4 days
773d889285SJed Brown  cache:
783d889285SJed Brown    paths:
7904bc68e0SJed Brown      - .ccache/
803d889285SJed Brown    key: "${CI_JOB_NAME}"
81e74c1a09SJed Brown
8228d80369SJed Brown#
83815ac3f0SSatish Balay# The following tests run on the cloud as part of stage-1.
8428d80369SJed Brown#
8528d80369SJed Brown
861c6b2e5dSSatish Balaympich-cxx-py3:
879c15ed49SBarry Smith  extends: .stage-1
88e74c1a09SJed Brown  variables:
891c6b2e5dSSatish Balay    PYTHON: python3
901c6b2e5dSSatish Balay    CONFIG_OPTS: --with-mpi-dir=/usr/local --with-clanguage=cxx --with-fc=0
91e74c1a09SJed Brown    TEST_SEARCH: snes_tutorials-ex48%
92340aff75SJed Brown
93340aff75SJed Brownuni-complex-float-int64:
949c15ed49SBarry Smith  extends: .stage-1
95e74c1a09SJed Brown  variables:
961c6b2e5dSSatish Balay    PYTHON: python3
97e525aa6fSSatish Balay    CONFIG_OPTS: --with-mpi=0 --with-scalar-type=complex --with-precision=single --with-64-bit-indices
98e74c1a09SJed Brown    TEST_SEARCH: ts_tutorials-ex11_adv_2d_quad_%
99340aff75SJed Brown
1001c6b2e5dSSatish Balayc89-mlib-static-py2:
1019c15ed49SBarry Smith  extends: .stage-1
1023d889285SJed Brown  image: jedbrown/mpich-ccache:python2
1031c6b2e5dSSatish Balay  variables:
104377e4ec7SSatish Balay    PYTHON: python2
105e525aa6fSSatish Balay    CONFIG_OPTS: --with-mpi-dir=/usr/local --with-single-library=0 --with-shared-libraries=0 CFLAGS=-std=c89
106c05b70c4SSatish Balay    TEST_SEARCH: snes_tutorials-ex19%
1071c6b2e5dSSatish Balay
108689e4609SSatish Balaychecksource:
109689e4609SSatish Balay  extends: .test
110689e4609SSatish Balay  image: jedbrown/mpich-ccache
111689e4609SSatish Balay  stage: stage-1
112689e4609SSatish Balay  script:
113689e4609SSatish Balay    - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
114689e4609SSatish Balay    - make checkbadSource SHELL=bash
1155e361860SScott Kruger    - make check_output SHELL=bash
116689e4609SSatish Balay
11728d80369SJed Brown#
118815ac3f0SSatish Balay# This provides the basic order of operations and options template for stage-2,3 tests.
119815ac3f0SSatish Balay# Not all stage-2,3 need to follow this template, but most will.
12028d80369SJed Brown#
121815ac3f0SSatish Balay.stage-23:
12228d80369SJed Brown  extends: .test
12344cd3865SJed Brown  script:
1241b8cc14cSSatish Balay    - printf "PATH:$PATH\n"
1251b8cc14cSSatish Balay    - printf "PETSC_OPTIONS:$PETSC_OPTIONS\n"
126b9ee52b1SSatish Balay    - printf "./config/examples/${TEST_ARCH}.py\n"
127b9ee52b1SSatish Balay    - cat ./config/examples/${TEST_ARCH}.py
1281702e285SSatish Balay    - ./config/examples/${TEST_ARCH}.py
129bb8bb6b6SSatish Balay    - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS}
130ecf4a1a3SSatish Balay    - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} check
131af5a22a1SSatish Balay    - make updatedatafiles
132ecf4a1a3SSatish Balay    - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} cleantest allgtests-tap TIMEOUT=${TIMEOUT}
1338166029eSJed Brown  artifacts:
1348166029eSJed Brown    reports:
1358166029eSJed Brown      junit: ${TEST_ARCH}/tests/testresults.xml
1369fbb52e5SScott Kruger    name: "$CI_JOB_NAME"
1379fbb52e5SScott Kruger    when: always
1389fbb52e5SScott Kruger    paths:
1398ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
1409fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
1419fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
1429fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
1439fbb52e5SScott Kruger    expire_in: 4 days
144b0b73feeSBarry Smith  variables:
145b0b73feeSBarry Smith    OPENBLAS_NUM_THREADS: 1
14644cd3865SJed Brown
147815ac3f0SSatish Balay.stage-2:
148815ac3f0SSatish Balay  extends: .stage-23
149815ac3f0SSatish Balay  stage: stage-2
150815ac3f0SSatish Balay  only:
151815ac3f0SSatish Balay    variables:
152815ac3f0SSatish Balay      - $STAGE != "1"
153815ac3f0SSatish Balay      - $STAGE != "3"
154815ac3f0SSatish Balay
155815ac3f0SSatish Balay.stage-3:
156815ac3f0SSatish Balay  extends: .stage-23
157815ac3f0SSatish Balay  stage: stage-3
158815ac3f0SSatish Balay  only:
159815ac3f0SSatish Balay    variables:
160815ac3f0SSatish Balay      - $STAGE != "1"
161815ac3f0SSatish Balay      - $STAGE != "2"
162815ac3f0SSatish Balay
16328d80369SJed Brown#
164815ac3f0SSatish Balay# The following provide templates for various OSes for pre/post info
16528d80369SJed Brown#
16628d80369SJed Brown
167bb8bb6b6SSatish Balay.linux_test_noflags:
1681702e285SSatish Balay  before_script:
16944862ab0SSatish Balay    - date
1701702e285SSatish Balay    - hostname
1711702e285SSatish Balay    - grep PRETTY_NAME /etc/os-release
1721702e285SSatish Balay    - echo $(nproc)
173525f0e14SJed Brown    - ccache --zero-stats
174e5898789SSatish Balay    - if [ ! -z ${LOAD_MODULES+x} ]; then module load ${LOAD_MODULES}; module list; fi
175525f0e14SJed Brown  after_script:
17644862ab0SSatish Balay    - date
177525f0e14SJed Brown    - ccache --show-stats
1781702e285SSatish Balay
179bb8bb6b6SSatish Balay.linux_test:
180bb8bb6b6SSatish Balay  extends: .linux_test_noflags
181bb8bb6b6SSatish Balay  variables:
182bb8bb6b6SSatish Balay    MAKE_CFLAGS: -Werror
183bb8bb6b6SSatish Balay    MAKE_CXXFLAGS: -Werror
184bb8bb6b6SSatish Balay
185815ac3f0SSatish Balay.freebsd_test:
186bb8bb6b6SSatish Balay  variables:
187bb8bb6b6SSatish Balay    MAKE_CFLAGS: -Werror
188bb8bb6b6SSatish Balay    MAKE_CXXFLAGS: -Werror
1898623489dSJed Brown  before_script:
19044862ab0SSatish Balay    - date
1918623489dSJed Brown    - hostname
1921702e285SSatish Balay    - freebsd-version
1931702e285SSatish Balay    - echo $(sysctl -n hw.ncpu)
194525f0e14SJed Brown    - ccache --zero-stats
195525f0e14SJed Brown  after_script:
19644862ab0SSatish Balay    - date
197525f0e14SJed Brown    - ccache --show-stats
1981702e285SSatish Balay
199815ac3f0SSatish Balay.osx_test:
200bb8bb6b6SSatish Balay  variables:
201bb8bb6b6SSatish Balay    MAKE_CFLAGS: -Werror
202bb8bb6b6SSatish Balay    MAKE_CXXFLAGS: -Werror
20320099508SSatish Balay  before_script:
20444862ab0SSatish Balay    - date
20520099508SSatish Balay    - hostname
20620099508SSatish Balay    - sw_vers -productVersion
20720099508SSatish Balay    - echo $(sysctl -n hw.ncpu)
208525f0e14SJed Brown    - ccache --zero-stats
209525f0e14SJed Brown  after_script:
21044862ab0SSatish Balay    - date
211525f0e14SJed Brown    - ccache --show-stats
21220099508SSatish Balay
213815ac3f0SSatish Balay.opensolaris_test:
21420099508SSatish Balay  before_script:
21544862ab0SSatish Balay    - date
21620099508SSatish Balay    - hostname
21720099508SSatish Balay    - uname -a
21820099508SSatish Balay    - echo $(nproc)
219cc029b31SSatish Balay  after_script:
22044862ab0SSatish Balay    - date
22120099508SSatish Balay
222f99eff61SSatish Balay.mswin_test:
223f99eff61SSatish Balay  before_script:
22444862ab0SSatish Balay    - date
225f99eff61SSatish Balay    - hostname
226f99eff61SSatish Balay    - uname -a
227f99eff61SSatish Balay    - echo $(nproc)
228cc029b31SSatish Balay  after_script:
22944862ab0SSatish Balay    - date
230f99eff61SSatish Balay
231815ac3f0SSatish Balay#
232815ac3f0SSatish Balay# The following tests run as part of stage-2.
233815ac3f0SSatish Balay#
234815ac3f0SSatish Balay# The tags variable used in the tests below connects the particular test with the runners
235815ac3f0SSatish Balay# listed on the left hand side of https://gitlab.com/petsc/petsc/-/settings/ci_cd.
236815ac3f0SSatish Balay# For example the test linux-gcc-complex-opt  any runner that has the tag 'name:pj02'
237815ac3f0SSatish Balay# (in a blue box beneath it)
238815ac3f0SSatish Balay#
239f923398bSSatish Balay
2401702e285SSatish Balaylinux-gcc-complex-opt:
241815ac3f0SSatish Balay  extends:
242815ac3f0SSatish Balay    - .stage-2
243815ac3f0SSatish Balay    - .linux_test
244815ac3f0SSatish Balay  tags:
24523cb2c3dSSatish Balay    - linux-dell
2461702e285SSatish Balay  variables:
2474d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-complex-opt
2481702e285SSatish Balay
2491702e285SSatish Balaylinux-gcc-pkgs-opt:
250815ac3f0SSatish Balay  extends:
251815ac3f0SSatish Balay    - .stage-2
252815ac3f0SSatish Balay    - .linux_test
253815ac3f0SSatish Balay  tags:
25423cb2c3dSSatish Balay    - linux-dell
2551702e285SSatish Balay  variables:
2564d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-pkgs-opt
2571702e285SSatish Balay
2581702e285SSatish Balaylinux-gcc-quad-64idx-dbg:
259815ac3f0SSatish Balay  extends:
260815ac3f0SSatish Balay    - .stage-2
261815ac3f0SSatish Balay    - .linux_test
262815ac3f0SSatish Balay  tags:
26323cb2c3dSSatish Balay    - linux-dell
2641702e285SSatish Balay  variables:
2654d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-quad-64idx-dbg
2661702e285SSatish Balay
267bff34844SSatish Balaylinux-cuda-double:
268bff34844SSatish Balay  extends:
269bff34844SSatish Balay    - .stage-2
270bff34844SSatish Balay    - .linux_test
271bff34844SSatish Balay  tags:
272*4e811bafSSatish Balay    - gpu:nvidia, os:linux, name:p1
273bff34844SSatish Balay  variables:
2741b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
275bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-cuda-double
276bff34844SSatish Balay
2771702e285SSatish Balayfreebsd-c-single-opt:
278815ac3f0SSatish Balay  extends:
279815ac3f0SSatish Balay    - .stage-2
280815ac3f0SSatish Balay    - .freebsd_test
281815ac3f0SSatish Balay  tags:
2828f055d49SSatish Balay    - os:fbsd
2831702e285SSatish Balay  variables:
2844d09bf9bSSatish Balay    TEST_ARCH: arch-ci-freebsd-c-single-opt
2851702e285SSatish Balay
2861702e285SSatish Balayfreebsd-cxx-cmplx-64idx-dbg:
287815ac3f0SSatish Balay  extends:
288815ac3f0SSatish Balay    - .stage-2
289815ac3f0SSatish Balay    - .freebsd_test
290815ac3f0SSatish Balay  tags:
291eec22f94SSatish Balay    - os:fbsd
2921702e285SSatish Balay  variables:
2934d09bf9bSSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-64idx-dbg
2948623489dSJed Brown
295afaeda6eSSatish Balayopensolaris-misc:
296815ac3f0SSatish Balay  extends:
29797745379SSatish Balay    - .stage-3
298815ac3f0SSatish Balay    - .opensolaris_test
299815ac3f0SSatish Balay  tags:
300815ac3f0SSatish Balay    - name:n-gage
30120099508SSatish Balay  variables:
302afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-misc
3034f89072dSBarry Smith
304815ac3f0SSatish Balayosx-cxx-pkgs-opt:
305815ac3f0SSatish Balay  extends:
30688f5c5c9SSatish Balay    - .stage-3
307815ac3f0SSatish Balay    - .osx_test
308815ac3f0SSatish Balay  tags:
309eec22f94SSatish Balay    - os:macos
310815ac3f0SSatish Balay  variables:
3111b8cc14cSSatish Balay    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
312815ac3f0SSatish Balay    TEST_ARCH: arch-ci-osx-cxx-pkgs-opt
313815ac3f0SSatish Balay
314f99eff61SSatish Balaymswin-uni:
315f99eff61SSatish Balay  extends:
316f99eff61SSatish Balay    - .stage-2
317f99eff61SSatish Balay    - .mswin_test
318f99eff61SSatish Balay  tags:
31997745379SSatish Balay    - name:ps5-2
320f99eff61SSatish Balay  variables:
321f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-uni
322f99eff61SSatish Balay
323f99eff61SSatish Balay#
324f99eff61SSatish Balay# The following tests run as part of stage-3.
325f99eff61SSatish Balay#
326f99eff61SSatish Balay
327f99eff61SSatish Balaymswin-intel-cxx-cmplx:
328f99eff61SSatish Balay  extends:
329f99eff61SSatish Balay    - .stage-3
330f99eff61SSatish Balay    - .mswin_test
331f99eff61SSatish Balay  tags:
332d4f02cf1SSatish Balay    - name:ps5
333f99eff61SSatish Balay  variables:
334f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-intel-cxx-cmplx
335f99eff61SSatish Balay
336f99eff61SSatish Balaymswin-intel:
337f99eff61SSatish Balay  extends:
338f99eff61SSatish Balay    - .stage-3
339f99eff61SSatish Balay    - .mswin_test
340f99eff61SSatish Balay  tags:
341d4f02cf1SSatish Balay    - name:ps5
342f99eff61SSatish Balay  variables:
343f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-intel
344f99eff61SSatish Balay
3457c608d60SSatish Balaymswin-opt-impi:
346f99eff61SSatish Balay  extends:
347f99eff61SSatish Balay    - .stage-3
348f99eff61SSatish Balay    - .mswin_test
349f99eff61SSatish Balay  tags:
350f99eff61SSatish Balay    - name:ps4
351f99eff61SSatish Balay  variables:
352f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-opt-impi
353f99eff61SSatish Balay
354afaeda6eSSatish Balayopensolaris-cmplx-pkgs-dbg:
355afaeda6eSSatish Balay  extends:
356afaeda6eSSatish Balay    - .stage-3
357afaeda6eSSatish Balay    - .opensolaris_test
358afaeda6eSSatish Balay  tags:
359afaeda6eSSatish Balay    - name:n-gage
360afaeda6eSSatish Balay  variables:
361afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg
362afaeda6eSSatish Balay
363afaeda6eSSatish Balayopensolaris-pkgs-opt:
364afaeda6eSSatish Balay  extends:
365afaeda6eSSatish Balay    - .stage-3
366afaeda6eSSatish Balay    - .opensolaris_test
367afaeda6eSSatish Balay  tags:
368afaeda6eSSatish Balay    - name:n-gage
369afaeda6eSSatish Balay  variables:
370afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-pkgs-opt
3718f055d49SSatish Balay
3728f055d49SSatish Balayfreebsd-pkgs-opt:
3738f055d49SSatish Balay  extends:
3748f055d49SSatish Balay    - .stage-3
3758f055d49SSatish Balay    - .freebsd_test
3768f055d49SSatish Balay  tags:
3778f055d49SSatish Balay    - os:fbsd
3788f055d49SSatish Balay  variables:
3798f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-pkgs-opt
3808f055d49SSatish Balay
3818f055d49SSatish Balayfreebsd-cxx-cmplx-pkgs-dbg:
3828f055d49SSatish Balay  extends:
3838f055d49SSatish Balay    - .stage-3
3848f055d49SSatish Balay    - .freebsd_test
3858f055d49SSatish Balay  tags:
3868f055d49SSatish Balay    - os:fbsd
3878f055d49SSatish Balay  variables:
3888f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-pkgs-dbg
3898f055d49SSatish Balay
3908f055d49SSatish Balayfreebsd-cxx-pkgs-opt:
3918f055d49SSatish Balay  extends:
3928f055d49SSatish Balay    - .stage-3
3938f055d49SSatish Balay    - .freebsd_test
3948f055d49SSatish Balay  tags:
3958f055d49SSatish Balay    - os:fbsd
3968f055d49SSatish Balay  variables:
3971b8cc14cSSatish Balay    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
3988f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-pkgs-opt
3998f055d49SSatish Balay
40081c5bd19SSatish Balayosx-cxx-cmplx-pkgs-dbg:
40181c5bd19SSatish Balay  extends:
40281c5bd19SSatish Balay    - .stage-3
40381c5bd19SSatish Balay    - .osx_test
40481c5bd19SSatish Balay  tags:
405eec22f94SSatish Balay    - os:macos
40681c5bd19SSatish Balay  variables:
40781c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-cxx-cmplx-pkgs-dbg
40881c5bd19SSatish Balay
40981c5bd19SSatish Balayosx-dbg:
41081c5bd19SSatish Balay  extends:
41181c5bd19SSatish Balay    - .stage-3
41281c5bd19SSatish Balay    - .osx_test
41381c5bd19SSatish Balay  tags:
414eec22f94SSatish Balay    - os:macos
41581c5bd19SSatish Balay  variables:
41681c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-dbg
41781c5bd19SSatish Balay
41881c5bd19SSatish Balayosx-xsdk-opt:
41981c5bd19SSatish Balay  extends:
42081c5bd19SSatish Balay    - .stage-3
42181c5bd19SSatish Balay    - .osx_test
42281c5bd19SSatish Balay  tags:
423eec22f94SSatish Balay    - os:macos
42481c5bd19SSatish Balay  variables:
42581c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-xsdk-opt
42681c5bd19SSatish Balay
427a0eee5b0SSatish Balaylinux-cmplx-gcov:
428a0eee5b0SSatish Balay  extends:
429a0eee5b0SSatish Balay    - .stage-3
430a0eee5b0SSatish Balay    - .linux_test
431a0eee5b0SSatish Balay  tags:
43223cb2c3dSSatish Balay    - mcs-nfs
433a0eee5b0SSatish Balay  variables:
4341b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -vecscatter_mpi1 false -options_left false
435a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-cmplx-gcov
4369fbb52e5SScott Kruger  after_script:
4379fbb52e5SScott Kruger    - make gcov
4389fbb52e5SScott Kruger  artifacts:
4399fbb52e5SScott Kruger    when: always
4409fbb52e5SScott Kruger    paths:
4418ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
4429fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
4439fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
4449fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
445b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
4469fbb52e5SScott Kruger    expire_in: 4 days
4479fbb52e5SScott Kruger
448a0eee5b0SSatish Balay
449a0eee5b0SSatish Balaylinux-cmplx-single:
450a0eee5b0SSatish Balay  extends:
451a0eee5b0SSatish Balay    - .stage-3
452a0eee5b0SSatish Balay    - .linux_test
453a0eee5b0SSatish Balay  tags:
454a0eee5b0SSatish Balay    - name:si
455a0eee5b0SSatish Balay  variables:
456a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-cmplx-single
457a0eee5b0SSatish Balay
458a0eee5b0SSatish Balaylinux-without-fc:
459a0eee5b0SSatish Balay  extends:
460a0eee5b0SSatish Balay    - .stage-3
461a0eee5b0SSatish Balay    - .linux_test
462a0eee5b0SSatish Balay  tags:
463a0eee5b0SSatish Balay    - name:si
464a0eee5b0SSatish Balay  variables:
465a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-without-fc
466a0eee5b0SSatish Balay
467c220a231SSatish Balaylinux-clang-avx:
468c220a231SSatish Balay  extends:
469c220a231SSatish Balay    - .stage-3
470c220a231SSatish Balay    - .linux_test
471c220a231SSatish Balay  tags:
472c220a231SSatish Balay    - name:isdp001
473c220a231SSatish Balay  variables:
474c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-clang-avx
475c220a231SSatish Balay
476c220a231SSatish Balaylinux-gcc-cxx-avx2:
477c220a231SSatish Balay  extends:
478c220a231SSatish Balay    - .stage-3
479c220a231SSatish Balay    - .linux_test
480c220a231SSatish Balay  tags:
481c220a231SSatish Balay    - name:isdp001
482c220a231SSatish Balay  variables:
483c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-gcc-cxx-avx2
484c220a231SSatish Balay
485c220a231SSatish Balaylinux-knl:
486c220a231SSatish Balay  extends:
487c220a231SSatish Balay    - .stage-3
488c220a231SSatish Balay    - .linux_test
489c220a231SSatish Balay  tags:
490c220a231SSatish Balay    - name:isdp001
491c220a231SSatish Balay  variables:
492c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-knl
493c220a231SSatish Balay
494bff34844SSatish Balaylinux-c-exodus-dbg:
495bff34844SSatish Balay  extends:
496bff34844SSatish Balay    - .stage-3
497bff34844SSatish Balay    - .linux_test
498bff34844SSatish Balay  tags:
4992056e1b5SSatish Balay    - gpu:nvidia, os:linux
500bff34844SSatish Balay  variables:
5011b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
502bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-c-exodus-dbg
503bff34844SSatish Balay
504bff34844SSatish Balaylinux-cuda-single:
505bff34844SSatish Balay  extends:
506bff34844SSatish Balay    - .stage-3
507bff34844SSatish Balay    - .linux_test
508bff34844SSatish Balay  tags:
5092056e1b5SSatish Balay    - gpu:nvidia, os:linux
510bff34844SSatish Balay  variables:
5111b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
512bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-cuda-single
513bff34844SSatish Balay
514bff34844SSatish Balaylinux-viennacl:
515bff34844SSatish Balay  extends:
516bff34844SSatish Balay    - .stage-3
517bff34844SSatish Balay    - .linux_test
518bff34844SSatish Balay  tags:
5192056e1b5SSatish Balay    - gpu:nvidia, os:linux, name:frog
520bff34844SSatish Balay  variables:
521bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-viennacl
522bff34844SSatish Balay
523f8617054SSatish Balaylinux-opt-misc:
524f8617054SSatish Balay  extends:
525f8617054SSatish Balay    - .stage-3
526f8617054SSatish Balay    - .linux_test
527f8617054SSatish Balay  tags:
528e5898789SSatish Balay    - gce-nfs
529f8617054SSatish Balay  variables:
530f8617054SSatish Balay    TEST_ARCH: arch-ci-linux-opt-misc
531f8617054SSatish Balay
532f8617054SSatish Balaylinux-pkgs-cxx-mlib:
533f8617054SSatish Balay  extends:
534f8617054SSatish Balay    - .stage-3
535f8617054SSatish Balay    - .linux_test
536f8617054SSatish Balay  tags:
53723cb2c3dSSatish Balay    - name:pj02
538f8617054SSatish Balay  variables:
5391b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
540f8617054SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-cxx-mlib
541f8617054SSatish Balay
542c86e6cf2SSatish Balaylinux-cxx-cmplx-pkgs-64idx:
543c86e6cf2SSatish Balay  extends:
544c86e6cf2SSatish Balay    - .stage-3
545c86e6cf2SSatish Balay    - .linux_test
546c86e6cf2SSatish Balay  tags:
54723cb2c3dSSatish Balay    - name:pj01
548c86e6cf2SSatish Balay  variables:
549c86e6cf2SSatish Balay    TEST_ARCH: arch-ci-linux-cxx-cmplx-pkgs-64idx
550c86e6cf2SSatish Balay
551c86e6cf2SSatish Balaylinux-pkgs-dbg-ftn-interfaces:
552c86e6cf2SSatish Balay  extends:
553c86e6cf2SSatish Balay    - .stage-3
554c86e6cf2SSatish Balay    - .linux_test
555c86e6cf2SSatish Balay  tags:
55623cb2c3dSSatish Balay    - name:pj02
557c86e6cf2SSatish Balay  variables:
558c86e6cf2SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-dbg-ftn-interfaces
559c86e6cf2SSatish Balay
560e1f35f96SSatish Balaylinux-analyzer:
561e1f35f96SSatish Balay  extends:
562e1f35f96SSatish Balay    - .stage-3
563e1f35f96SSatish Balay    - .linux_test
564e1f35f96SSatish Balay  tags:
565e1f35f96SSatish Balay    - mcs-nfs
566e1f35f96SSatish Balay  variables:
567e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-analyzer
568e1f35f96SSatish Balay
569e1f35f96SSatish Balaylinux-gcc-ifc-cmplx:
570e1f35f96SSatish Balay  extends:
571e1f35f96SSatish Balay    - .stage-3
572e1f35f96SSatish Balay    - .linux_test
573e1f35f96SSatish Balay  tags:
574e1f35f96SSatish Balay    - mcs-nfs
575e1f35f96SSatish Balay  variables:
576e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-gcc-ifc-cmplx
577e1f35f96SSatish Balay
578e1f35f96SSatish Balaylinux-gcov:
579e1f35f96SSatish Balay  extends:
580e1f35f96SSatish Balay    - .stage-3
581e1f35f96SSatish Balay    - .linux_test
582e1f35f96SSatish Balay  tags:
583e1f35f96SSatish Balay    - mcs-nfs
584e1f35f96SSatish Balay  variables:
585e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-gcov
5869fbb52e5SScott Kruger  after_script:
5879fbb52e5SScott Kruger    - make gcov
5889fbb52e5SScott Kruger  artifacts:
5899fbb52e5SScott Kruger    when: always
5909fbb52e5SScott Kruger    paths:
5918ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
5929fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
5939fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
5949fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
595b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
5969fbb52e5SScott Kruger    expire_in: 4 days
5979fbb52e5SScott Kruger
598e1f35f96SSatish Balay
599e626c8ebSSatish Balaylinux-ILP64:
600e1f35f96SSatish Balay  extends:
601e1f35f96SSatish Balay    - .stage-3
602e1f35f96SSatish Balay    - .linux_test
603e1f35f96SSatish Balay  tags:
604e5898789SSatish Balay    - gce-nfs
605e1f35f96SSatish Balay  variables:
606e626c8ebSSatish Balay    TEST_ARCH: arch-ci-linux-ILP64
607e1f35f96SSatish Balay
608e1f35f96SSatish Balaylinux-matlab-ilp64-gcov:
609e1f35f96SSatish Balay  extends:
610e1f35f96SSatish Balay    - .stage-3
611e1f35f96SSatish Balay    - .linux_test
612e1f35f96SSatish Balay  tags:
613e1f35f96SSatish Balay    - mcs-nfs
614e1f35f96SSatish Balay  variables:
615e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-matlab-ilp64-gcov
6169fbb52e5SScott Kruger  after_script:
6179fbb52e5SScott Kruger    - make gcov
6189fbb52e5SScott Kruger  artifacts:
6199fbb52e5SScott Kruger    when: always
6209fbb52e5SScott Kruger    paths:
6218ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
6229fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
6239fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
6249fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
625b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
6269fbb52e5SScott Kruger    expire_in: 4 days
6279fbb52e5SScott Kruger
628e1f35f96SSatish Balay
629e1f35f96SSatish Balaylinux-opt-cxx-quad:
630e1f35f96SSatish Balay  extends:
631e1f35f96SSatish Balay    - .stage-3
632e1f35f96SSatish Balay    - .linux_test
633e1f35f96SSatish Balay  tags:
634e1f35f96SSatish Balay    - mcs-nfs
635e1f35f96SSatish Balay  variables:
636e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-opt-cxx-quad
637e1f35f96SSatish Balay
638e1f35f96SSatish Balaylinux-pgi:
639e1f35f96SSatish Balay  extends:
640e1f35f96SSatish Balay    - .stage-3
641bb8bb6b6SSatish Balay    - .linux_test_noflags
642e1f35f96SSatish Balay  tags:
64323cb2c3dSSatish Balay    - mcs-nfs,name:petsc
644e1f35f96SSatish Balay  variables:
645e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pgi
646e1f35f96SSatish Balay
647e1f35f96SSatish Balaylinux-pkgs-64idx:
648e1f35f96SSatish Balay  extends:
649e1f35f96SSatish Balay    - .stage-3
650e1f35f96SSatish Balay    - .linux_test
651e1f35f96SSatish Balay  tags:
652e1f35f96SSatish Balay    - mcs-nfs
653e1f35f96SSatish Balay  variables:
654e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-64idx
655e1f35f96SSatish Balay
656e1f35f96SSatish Balaylinux-pkgs-gcov:
657e1f35f96SSatish Balay  extends:
658e1f35f96SSatish Balay    - .stage-3
659e1f35f96SSatish Balay    - .linux_test
660e1f35f96SSatish Balay  tags:
661e1f35f96SSatish Balay    - mcs-nfs
662e1f35f96SSatish Balay  variables:
663e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-gcov
6649fbb52e5SScott Kruger  after_script:
6659fbb52e5SScott Kruger    - make gcov
6669fbb52e5SScott Kruger  artifacts:
6679fbb52e5SScott Kruger    when: always
6689fbb52e5SScott Kruger    paths:
6698ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
6709fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
6719fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
6729fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
673b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
6749fbb52e5SScott Kruger    expire_in: 4 days
675e1f35f96SSatish Balay
676e1f35f96SSatish Balaylinux-pkgs-opt:
677e1f35f96SSatish Balay  extends:
678e1f35f96SSatish Balay    - .stage-3
679e1f35f96SSatish Balay    - .linux_test
680e1f35f96SSatish Balay  tags:
681e5898789SSatish Balay    - gce-nfs
682e1f35f96SSatish Balay  variables:
6831b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
684e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-opt
685e1f35f96SSatish Balay
686e1f35f96SSatish Balaylinux-pkgs-valgrind:
687e1f35f96SSatish Balay  extends:
688e1f35f96SSatish Balay    - .stage-3
689e1f35f96SSatish Balay    - .linux_test
690e1f35f96SSatish Balay  tags:
6917c608d60SSatish Balay    - valgrind
692e1f35f96SSatish Balay  variables:
693e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-valgrind
694ea9ab0baSSatish Balay    TIMEOUT: 7200
695e1f35f96SSatish Balay
696e1f35f96SSatish Balaylinux-xsdk-dbg:
697e1f35f96SSatish Balay  extends:
698e1f35f96SSatish Balay    - .stage-3
699e1f35f96SSatish Balay    - .linux_test
700e1f35f96SSatish Balay  tags:
701e1f35f96SSatish Balay    - mcs-nfs
702e1f35f96SSatish Balay  variables:
703e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-xsdk-dbg
704e1f35f96SSatish Balay
70543199586SSatish Balaylinux-intel:
706e1f35f96SSatish Balay  extends:
707e1f35f96SSatish Balay    - .stage-3
708e5898789SSatish Balay    - .linux_test_noflags
709e1f35f96SSatish Balay  tags:
710e5898789SSatish Balay    - gce-nfs
711e1f35f96SSatish Balay  variables:
71243199586SSatish Balay    TEST_ARCH: arch-ci-linux-intel
713e5898789SSatish Balay    LOAD_MODULES: intel-mkl/19.5 intel/19.0
71443199586SSatish Balay
71543199586SSatish Balaylinux-intel-cmplx:
71643199586SSatish Balay  extends:
71743199586SSatish Balay    - .stage-3
718e5898789SSatish Balay    - .linux_test_noflags
71943199586SSatish Balay  tags:
720e5898789SSatish Balay    - gce-nfs
72143199586SSatish Balay  variables:
72243199586SSatish Balay    TEST_ARCH: arch-ci-linux-intel-cmplx
723e5898789SSatish Balay    LOAD_MODULES: intel-mkl/19.5 intel/19.0
724e1f35f96SSatish Balay
72506c8a052SSatish Balaylinux-nagfor:
72606c8a052SSatish Balay  extends:
72706c8a052SSatish Balay    - .stage-3
72806c8a052SSatish Balay    - .linux_test
72906c8a052SSatish Balay  tags:
73006c8a052SSatish Balay    - mcs-nfs
73106c8a052SSatish Balay  variables:
73206c8a052SSatish Balay    TEST_ARCH: arch-ci-linux-nagfor
73306c8a052SSatish Balay
734b0e5478fSScott Kruger# job for analyzing the final coverage results
735b0e5478fSScott Krugeranalyze-pipeline:
736b0e5478fSScott Kruger  stage: .post
737b0e5478fSScott Kruger  image: jedbrown/mpich-ccache
738b0e5478fSScott Kruger  variables:
739b0e5478fSScott Kruger    PYTHON: python3
740b0e5478fSScott Kruger    # Need a dummy TEST_ARCH that comes from artifacts
741b0e5478fSScott Kruger    TEST_ARCH: arch-ci-linux-pkgs-gcov
742b0e5478fSScott Kruger  only:
743b0e5478fSScott Kruger    refs:
744b0e5478fSScott Kruger#     Set with CI/CD Shedules - New Schedule
745b0e5478fSScott Kruger      - schedules
746b0e5478fSScott Kruger#     Set with CI/CD Pipelines - Run Pipeline
747b0e5478fSScott Kruger      - web
748b0e5478fSScott Kruger  allow_failure: true
749b0e5478fSScott Kruger  before_script:
750b0e5478fSScott Kruger    - date
751b0e5478fSScott Kruger  script:
752b0e5478fSScott Kruger  - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
753b0e5478fSScott Kruger#  - make mergegcov LOC=$PWD
754b0e5478fSScott Kruger  - ${PYTHON} lib/petsc/bin/maint/gcov.py --merge_gcov --loc=${PWD} --petsc_arch ${TEST_ARCH}
755b0e5478fSScott Kruger  - ls
756b0e5478fSScott Kruger  - ls arch*/*
757b0e5478fSScott Kruger  artifacts:
758b0e5478fSScott Kruger    name: "$CI_JOB_NAME"
759b0e5478fSScott Kruger    when: always
760b0e5478fSScott Kruger    paths:
761b0e5478fSScott Kruger    - i*.html
762b0e5478fSScott Kruger    - arch-*-gcov/*
763b0e5478fSScott Kruger    expire_in: 4 days
764b0e5478fSScott Kruger#
76528d80369SJed Brown#
76628d80369SJed Brown# The following tests are experimental; more tests by users at other sites may be added below this.  Experimental test
76728d80369SJed Brown# that fail produce a warning, but do not block execution of a pipeline.
76828d80369SJed Brown#
76928d80369SJed Brown
77028d80369SJed Brown.test-experimental:
77128d80369SJed Brown  extends: .test
77228d80369SJed Brown  allow_failure: true
77328d80369SJed Brown
774