xref: /petsc/.gitlab-ci.yml (revision 8c8640b9f5b2acf7041d0a9b2139421e2483f8cf)
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
39*8c8640b9SSatish Balaycheck-ci-settings:
40*8c8640b9SSatish Balay  extends: .test
41*8c8640b9SSatish Balay  stage: .pre
42*8c8640b9SSatish Balay  tags:
43*8c8640b9SSatish Balay    - check-ci-settings
44*8c8640b9SSatish Balay  script:
45*8c8640b9SSatish Balay    - lib/petsc/bin/maint/check-ci-settings.sh
4628d80369SJed Brown#
479c15ed49SBarry Smith#  This provides the basic order of operations and options template for cloud based stage 1 tests.
4828d80369SJed Brown#  Not all test-short need to follow this template but most will.
4928d80369SJed Brown#
5028d80369SJed Brown
519c15ed49SBarry Smith.stage-1:
5228d80369SJed Brown  extends: .test
539c15ed49SBarry Smith  stage: stage-1
5428d80369SJed Brown  image: jedbrown/mpich-ccache
558dbf1e66SSatish Balay  tags:
568dbf1e66SSatish Balay    - docker
57340aff75SJed Brown  before_script:
5844862ab0SSatish Balay    - date
59340aff75SJed Brown    - echo nproc=$(nproc)
60340aff75SJed Brown    - cat /proc/cpuinfo
61525f0e14SJed Brown    - export CCACHE_COMPILERCHECK=content
6204bc68e0SJed Brown    - export CCACHE_DIR=$(pwd)/.ccache
6304bc68e0SJed Brown    - ccache --show-stats
6404bc68e0SJed Brown    - ccache --zero-stats
65aaf6ae27SBarry Smith    - echo CONFIG_OPTS=$(CONFIG_OPTS)
66340aff75SJed Brown  script:
671c6b2e5dSSatish Balay    - ${PYTHON} ./configure --with-debugging=0 COPTFLAGS='-O -march=native' CXXOPTFLAGS='-O -march=native' FOPTFLAGS='-O -march=native' ${CONFIG_OPTS}
680798d038SSatish Balay    - make CFLAGS=-Werror CXXFLAGS=-Werror FFLAGS=-Werror
690798d038SSatish Balay    - make CFLAGS=-Werror CXXFLAGS=-Werror FFLAGS=-Werror allgtests-tap search="${TEST_SEARCH}" TIMEOUT=${TIMEOUT}
703d889285SJed Brown  after_script:
7144862ab0SSatish Balay    - date
7204bc68e0SJed Brown    - CCACHE_DIR=$(pwd)/.ccache ccache --show-stats
73e22b0966SJed Brown  artifacts:
74e22b0966SJed Brown    reports:
75e22b0966SJed Brown      junit: arch-*/tests/testresults.xml
769fbb52e5SScott Kruger    name: "$CI_JOB_NAME"
779fbb52e5SScott Kruger    when: always
789fbb52e5SScott Kruger    paths:
798ed11d4aSPatrick Sanan    - arch-*/lib/petsc/conf/*.log
809fbb52e5SScott Kruger    - arch-*/tests/testresults.xml
819fbb52e5SScott Kruger    - arch-*/tests/test_*_tap.log
829fbb52e5SScott Kruger    - arch-*/tests/test_*_err.log
839fbb52e5SScott Kruger    expire_in: 4 days
843d889285SJed Brown  cache:
853d889285SJed Brown    paths:
8604bc68e0SJed Brown      - .ccache/
873d889285SJed Brown    key: "${CI_JOB_NAME}"
88e74c1a09SJed Brown
8928d80369SJed Brown#
90815ac3f0SSatish Balay# The following tests run on the cloud as part of stage-1.
9128d80369SJed Brown#
9228d80369SJed Brown
931c6b2e5dSSatish Balaympich-cxx-py3:
949c15ed49SBarry Smith  extends: .stage-1
95e74c1a09SJed Brown  variables:
961c6b2e5dSSatish Balay    PYTHON: python3
971c6b2e5dSSatish Balay    CONFIG_OPTS: --with-mpi-dir=/usr/local --with-clanguage=cxx --with-fc=0
98e74c1a09SJed Brown    TEST_SEARCH: snes_tutorials-ex48%
99340aff75SJed Brown
100340aff75SJed Brownuni-complex-float-int64:
1019c15ed49SBarry Smith  extends: .stage-1
102e74c1a09SJed Brown  variables:
1031c6b2e5dSSatish Balay    PYTHON: python3
104e525aa6fSSatish Balay    CONFIG_OPTS: --with-mpi=0 --with-scalar-type=complex --with-precision=single --with-64-bit-indices
105e74c1a09SJed Brown    TEST_SEARCH: ts_tutorials-ex11_adv_2d_quad_%
106340aff75SJed Brown
1071c6b2e5dSSatish Balayc89-mlib-static-py2:
1089c15ed49SBarry Smith  extends: .stage-1
1093d889285SJed Brown  image: jedbrown/mpich-ccache:python2
1101c6b2e5dSSatish Balay  variables:
111377e4ec7SSatish Balay    PYTHON: python2
112e525aa6fSSatish Balay    CONFIG_OPTS: --with-mpi-dir=/usr/local --with-single-library=0 --with-shared-libraries=0 CFLAGS=-std=c89
113c05b70c4SSatish Balay    TEST_SEARCH: snes_tutorials-ex19%
1141c6b2e5dSSatish Balay
115689e4609SSatish Balaychecksource:
116689e4609SSatish Balay  extends: .test
117689e4609SSatish Balay  image: jedbrown/mpich-ccache
118689e4609SSatish Balay  stage: stage-1
119689e4609SSatish Balay  script:
120689e4609SSatish Balay    - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
121689e4609SSatish Balay    - make checkbadSource SHELL=bash
1225e361860SScott Kruger    - make check_output SHELL=bash
123689e4609SSatish Balay
12428d80369SJed Brown#
125815ac3f0SSatish Balay# This provides the basic order of operations and options template for stage-2,3 tests.
126815ac3f0SSatish Balay# Not all stage-2,3 need to follow this template, but most will.
12728d80369SJed Brown#
128815ac3f0SSatish Balay.stage-23:
12928d80369SJed Brown  extends: .test
13044cd3865SJed Brown  script:
1311b8cc14cSSatish Balay    - printf "PATH:$PATH\n"
1321b8cc14cSSatish Balay    - printf "PETSC_OPTIONS:$PETSC_OPTIONS\n"
133b9ee52b1SSatish Balay    - printf "./config/examples/${TEST_ARCH}.py\n"
134b9ee52b1SSatish Balay    - cat ./config/examples/${TEST_ARCH}.py
1351702e285SSatish Balay    - ./config/examples/${TEST_ARCH}.py
1360798d038SSatish Balay    - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS}
1370798d038SSatish Balay    - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS} check
138af5a22a1SSatish Balay    - make updatedatafiles
1390798d038SSatish Balay    - if [ -z ${DISABLE_TESTS+x} ]; then make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS} cleantest allgtests-tap TIMEOUT=${TIMEOUT}; fi
1408166029eSJed Brown  artifacts:
1418166029eSJed Brown    reports:
1428166029eSJed Brown      junit: ${TEST_ARCH}/tests/testresults.xml
1439fbb52e5SScott Kruger    name: "$CI_JOB_NAME"
1449fbb52e5SScott Kruger    when: always
1459fbb52e5SScott Kruger    paths:
1468ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
1479fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
1489fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
1499fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
1509fbb52e5SScott Kruger    expire_in: 4 days
151b0b73feeSBarry Smith  variables:
152b0b73feeSBarry Smith    OPENBLAS_NUM_THREADS: 1
15344cd3865SJed Brown
154815ac3f0SSatish Balay.stage-2:
155815ac3f0SSatish Balay  extends: .stage-23
156815ac3f0SSatish Balay  stage: stage-2
157815ac3f0SSatish Balay  only:
158815ac3f0SSatish Balay    variables:
159815ac3f0SSatish Balay      - $STAGE != "1"
160815ac3f0SSatish Balay      - $STAGE != "3"
161815ac3f0SSatish Balay
162815ac3f0SSatish Balay.stage-3:
163815ac3f0SSatish Balay  extends: .stage-23
164815ac3f0SSatish Balay  stage: stage-3
165815ac3f0SSatish Balay  only:
166815ac3f0SSatish Balay    variables:
167815ac3f0SSatish Balay      - $STAGE != "1"
168815ac3f0SSatish Balay      - $STAGE != "2"
169815ac3f0SSatish Balay
17028d80369SJed Brown#
171815ac3f0SSatish Balay# The following provide templates for various OSes for pre/post info
17228d80369SJed Brown#
17328d80369SJed Brown
174bb8bb6b6SSatish Balay.linux_test_noflags:
1751702e285SSatish Balay  before_script:
17644862ab0SSatish Balay    - date
1771702e285SSatish Balay    - hostname
1781702e285SSatish Balay    - grep PRETTY_NAME /etc/os-release
1791702e285SSatish Balay    - echo $(nproc)
180525f0e14SJed Brown    - ccache --zero-stats
181e5898789SSatish Balay    - if [ ! -z ${LOAD_MODULES+x} ]; then module load ${LOAD_MODULES}; module list; fi
182525f0e14SJed Brown  after_script:
18344862ab0SSatish Balay    - date
184525f0e14SJed Brown    - ccache --show-stats
1851702e285SSatish Balay
186bb8bb6b6SSatish Balay.linux_test:
187bb8bb6b6SSatish Balay  extends: .linux_test_noflags
188bb8bb6b6SSatish Balay  variables:
189bb8bb6b6SSatish Balay    MAKE_CFLAGS: -Werror
190bb8bb6b6SSatish Balay    MAKE_CXXFLAGS: -Werror
1910798d038SSatish Balay    MAKE_FFLAGS: -Werror
192bb8bb6b6SSatish Balay
193815ac3f0SSatish Balay.freebsd_test:
194bb8bb6b6SSatish Balay  variables:
195bb8bb6b6SSatish Balay    MAKE_CFLAGS: -Werror
196bb8bb6b6SSatish Balay    MAKE_CXXFLAGS: -Werror
1970798d038SSatish Balay    MAKE_FFLAGS: -Werror
1988623489dSJed Brown  before_script:
19944862ab0SSatish Balay    - date
2008623489dSJed Brown    - hostname
2011702e285SSatish Balay    - freebsd-version
2021702e285SSatish Balay    - echo $(sysctl -n hw.ncpu)
203525f0e14SJed Brown    - ccache --zero-stats
204525f0e14SJed Brown  after_script:
20544862ab0SSatish Balay    - date
206525f0e14SJed Brown    - ccache --show-stats
2071702e285SSatish Balay
208815ac3f0SSatish Balay.osx_test:
209bb8bb6b6SSatish Balay  variables:
210bb8bb6b6SSatish Balay    MAKE_CFLAGS: -Werror
211bb8bb6b6SSatish Balay    MAKE_CXXFLAGS: -Werror
2120798d038SSatish Balay    MAKE_FFLAGS: -Werror
21320099508SSatish Balay  before_script:
21444862ab0SSatish Balay    - date
21520099508SSatish Balay    - hostname
21620099508SSatish Balay    - sw_vers -productVersion
21720099508SSatish Balay    - echo $(sysctl -n hw.ncpu)
218525f0e14SJed Brown    - ccache --zero-stats
219525f0e14SJed Brown  after_script:
22044862ab0SSatish Balay    - date
221525f0e14SJed Brown    - ccache --show-stats
22220099508SSatish Balay
223815ac3f0SSatish Balay.opensolaris_test:
22420099508SSatish Balay  before_script:
22544862ab0SSatish Balay    - date
22620099508SSatish Balay    - hostname
22720099508SSatish Balay    - uname -a
22820099508SSatish Balay    - echo $(nproc)
229cc029b31SSatish Balay  after_script:
23044862ab0SSatish Balay    - date
23120099508SSatish Balay
232f99eff61SSatish Balay.mswin_test:
233f99eff61SSatish Balay  before_script:
23444862ab0SSatish Balay    - date
235f99eff61SSatish Balay    - hostname
236f99eff61SSatish Balay    - uname -a
237f99eff61SSatish Balay    - echo $(nproc)
238cc029b31SSatish Balay  after_script:
23944862ab0SSatish Balay    - date
240f99eff61SSatish Balay
241815ac3f0SSatish Balay#
242815ac3f0SSatish Balay# The following tests run as part of stage-2.
243815ac3f0SSatish Balay#
244815ac3f0SSatish Balay# The tags variable used in the tests below connects the particular test with the runners
245815ac3f0SSatish Balay# listed on the left hand side of https://gitlab.com/petsc/petsc/-/settings/ci_cd.
246815ac3f0SSatish Balay# For example the test linux-gcc-complex-opt  any runner that has the tag 'name:pj02'
247815ac3f0SSatish Balay# (in a blue box beneath it)
248815ac3f0SSatish Balay#
249f923398bSSatish Balay
2501702e285SSatish Balaylinux-gcc-complex-opt:
251815ac3f0SSatish Balay  extends:
252815ac3f0SSatish Balay    - .stage-2
253815ac3f0SSatish Balay    - .linux_test
254815ac3f0SSatish Balay  tags:
2550798d038SSatish Balay    - linux-stage2
2561702e285SSatish Balay  variables:
2574d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-complex-opt
2581702e285SSatish Balay
2591702e285SSatish Balaylinux-gcc-pkgs-opt:
260815ac3f0SSatish Balay  extends:
261815ac3f0SSatish Balay    - .stage-2
262815ac3f0SSatish Balay    - .linux_test
263815ac3f0SSatish Balay  tags:
2640798d038SSatish Balay    - linux-stage2
2651702e285SSatish Balay  variables:
2664d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-pkgs-opt
2671702e285SSatish Balay
2681702e285SSatish Balaylinux-gcc-quad-64idx-dbg:
269815ac3f0SSatish Balay  extends:
270815ac3f0SSatish Balay    - .stage-2
271815ac3f0SSatish Balay    - .linux_test
272815ac3f0SSatish Balay  tags:
2730798d038SSatish Balay    - linux-stage2
2741702e285SSatish Balay  variables:
2754d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-quad-64idx-dbg
2761702e285SSatish Balay
277bff34844SSatish Balaylinux-cuda-double:
278bff34844SSatish Balay  extends:
279bff34844SSatish Balay    - .stage-2
280bff34844SSatish Balay    - .linux_test
281bff34844SSatish Balay  tags:
2824e811bafSSatish Balay    - gpu:nvidia, os:linux, name:p1
283bff34844SSatish Balay  variables:
2841b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
285bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-cuda-double
286bff34844SSatish Balay
2871702e285SSatish Balayfreebsd-c-single-opt:
288815ac3f0SSatish Balay  extends:
289815ac3f0SSatish Balay    - .stage-2
290815ac3f0SSatish Balay    - .freebsd_test
291815ac3f0SSatish Balay  tags:
2928f055d49SSatish Balay    - os:fbsd
2931702e285SSatish Balay  variables:
2944d09bf9bSSatish Balay    TEST_ARCH: arch-ci-freebsd-c-single-opt
2951702e285SSatish Balay
2961702e285SSatish Balayfreebsd-cxx-cmplx-64idx-dbg:
297815ac3f0SSatish Balay  extends:
298815ac3f0SSatish Balay    - .stage-2
299815ac3f0SSatish Balay    - .freebsd_test
300815ac3f0SSatish Balay  tags:
301eec22f94SSatish Balay    - os:fbsd
3021702e285SSatish Balay  variables:
3034d09bf9bSSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-64idx-dbg
3048623489dSJed Brown
305afaeda6eSSatish Balayopensolaris-misc:
306815ac3f0SSatish Balay  extends:
30797745379SSatish Balay    - .stage-3
308815ac3f0SSatish Balay    - .opensolaris_test
309815ac3f0SSatish Balay  tags:
310815ac3f0SSatish Balay    - name:n-gage
31120099508SSatish Balay  variables:
312afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-misc
3134f89072dSBarry Smith
314815ac3f0SSatish Balayosx-cxx-pkgs-opt:
315815ac3f0SSatish Balay  extends:
31688f5c5c9SSatish Balay    - .stage-3
317815ac3f0SSatish Balay    - .osx_test
318815ac3f0SSatish Balay  tags:
319eec22f94SSatish Balay    - os:macos
320815ac3f0SSatish Balay  variables:
3211b8cc14cSSatish 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
322815ac3f0SSatish Balay    TEST_ARCH: arch-ci-osx-cxx-pkgs-opt
323815ac3f0SSatish Balay
324f99eff61SSatish Balaymswin-uni:
325f99eff61SSatish Balay  extends:
326f99eff61SSatish Balay    - .stage-2
327f99eff61SSatish Balay    - .mswin_test
328f99eff61SSatish Balay  tags:
32997745379SSatish Balay    - name:ps5-2
330f99eff61SSatish Balay  variables:
331f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-uni
332f99eff61SSatish Balay
33370881346SSatish Balaymswin-gnu:
33470881346SSatish Balay  extends:
33570881346SSatish Balay    - .stage-2
33670881346SSatish Balay    - .mswin_test
33770881346SSatish Balay  tags:
33870881346SSatish Balay    - name:ps5-3
33970881346SSatish Balay  variables:
34070881346SSatish Balay    TEST_ARCH: arch-ci-mswin-gnu
34170881346SSatish Balay    MAKE_CFLAGS: -Werror
34270881346SSatish Balay    MAKE_CXXFLAGS: -Werror
3430798d038SSatish Balay    MAKE_FFLAGS: -Werror
34470881346SSatish Balay    DISABLE_TESTS: 1
34570881346SSatish Balay  artifacts:
34670881346SSatish Balay    reports:
34770881346SSatish Balay    paths:
34870881346SSatish Balay    - arch-*/lib/petsc/conf/*.log
34970881346SSatish Balay    expire_in: 4 days
35070881346SSatish Balay
351f99eff61SSatish Balay#
352f99eff61SSatish Balay# The following tests run as part of stage-3.
353f99eff61SSatish Balay#
354f99eff61SSatish Balay
355f99eff61SSatish Balaymswin-intel-cxx-cmplx:
356f99eff61SSatish Balay  extends:
357f99eff61SSatish Balay    - .stage-3
358f99eff61SSatish Balay    - .mswin_test
359f99eff61SSatish Balay  tags:
360d4f02cf1SSatish Balay    - name:ps5
361f99eff61SSatish Balay  variables:
362f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-intel-cxx-cmplx
363f99eff61SSatish Balay
364f99eff61SSatish Balaymswin-intel:
365f99eff61SSatish Balay  extends:
366f99eff61SSatish Balay    - .stage-3
367f99eff61SSatish Balay    - .mswin_test
368f99eff61SSatish Balay  tags:
369d4f02cf1SSatish Balay    - name:ps5
370f99eff61SSatish Balay  variables:
371f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-intel
372f99eff61SSatish Balay
3737c608d60SSatish Balaymswin-opt-impi:
374f99eff61SSatish Balay  extends:
375f99eff61SSatish Balay    - .stage-3
376f99eff61SSatish Balay    - .mswin_test
377f99eff61SSatish Balay  tags:
378f99eff61SSatish Balay    - name:ps4
379f99eff61SSatish Balay  variables:
380f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-opt-impi
381f99eff61SSatish Balay
382afaeda6eSSatish Balayopensolaris-cmplx-pkgs-dbg:
383afaeda6eSSatish Balay  extends:
384afaeda6eSSatish Balay    - .stage-3
385afaeda6eSSatish Balay    - .opensolaris_test
386afaeda6eSSatish Balay  tags:
387afaeda6eSSatish Balay    - name:n-gage
388afaeda6eSSatish Balay  variables:
389afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg
390afaeda6eSSatish Balay
391afaeda6eSSatish Balayopensolaris-pkgs-opt:
392afaeda6eSSatish Balay  extends:
393afaeda6eSSatish Balay    - .stage-3
394afaeda6eSSatish Balay    - .opensolaris_test
395afaeda6eSSatish Balay  tags:
396afaeda6eSSatish Balay    - name:n-gage
397afaeda6eSSatish Balay  variables:
398afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-pkgs-opt
3998f055d49SSatish Balay
4008f055d49SSatish Balayfreebsd-pkgs-opt:
4018f055d49SSatish Balay  extends:
4028f055d49SSatish Balay    - .stage-3
4038f055d49SSatish Balay    - .freebsd_test
4048f055d49SSatish Balay  tags:
4058f055d49SSatish Balay    - os:fbsd
4068f055d49SSatish Balay  variables:
4078f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-pkgs-opt
4088f055d49SSatish Balay
4098f055d49SSatish Balayfreebsd-cxx-cmplx-pkgs-dbg:
4108f055d49SSatish Balay  extends:
4118f055d49SSatish Balay    - .stage-3
4128f055d49SSatish Balay    - .freebsd_test
4138f055d49SSatish Balay  tags:
4148f055d49SSatish Balay    - os:fbsd
4158f055d49SSatish Balay  variables:
4168f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-pkgs-dbg
4178f055d49SSatish Balay
4188f055d49SSatish Balayfreebsd-cxx-pkgs-opt:
4198f055d49SSatish Balay  extends:
4208f055d49SSatish Balay    - .stage-3
4218f055d49SSatish Balay    - .freebsd_test
4228f055d49SSatish Balay  tags:
4238f055d49SSatish Balay    - os:fbsd
4248f055d49SSatish Balay  variables:
4251b8cc14cSSatish 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
4268f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-pkgs-opt
4278f055d49SSatish Balay
42881c5bd19SSatish Balayosx-cxx-cmplx-pkgs-dbg:
42981c5bd19SSatish Balay  extends:
43081c5bd19SSatish Balay    - .stage-3
43181c5bd19SSatish Balay    - .osx_test
43281c5bd19SSatish Balay  tags:
433eec22f94SSatish Balay    - os:macos
43481c5bd19SSatish Balay  variables:
43581c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-cxx-cmplx-pkgs-dbg
43681c5bd19SSatish Balay
43781c5bd19SSatish Balayosx-dbg:
43881c5bd19SSatish Balay  extends:
43981c5bd19SSatish Balay    - .stage-3
44081c5bd19SSatish Balay    - .osx_test
44181c5bd19SSatish Balay  tags:
442eec22f94SSatish Balay    - os:macos
44381c5bd19SSatish Balay  variables:
44481c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-dbg
44581c5bd19SSatish Balay
44681c5bd19SSatish Balayosx-xsdk-opt:
44781c5bd19SSatish Balay  extends:
44881c5bd19SSatish Balay    - .stage-3
44981c5bd19SSatish Balay    - .osx_test
45081c5bd19SSatish Balay  tags:
451eec22f94SSatish Balay    - os:macos
45281c5bd19SSatish Balay  variables:
45381c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-xsdk-opt
45481c5bd19SSatish Balay
455a0eee5b0SSatish Balaylinux-cmplx-gcov:
456a0eee5b0SSatish Balay  extends:
457a0eee5b0SSatish Balay    - .stage-3
458a0eee5b0SSatish Balay    - .linux_test
459a0eee5b0SSatish Balay  tags:
46023cb2c3dSSatish Balay    - mcs-nfs
461a0eee5b0SSatish Balay  variables:
4621b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -vecscatter_mpi1 false -options_left false
463a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-cmplx-gcov
4649fbb52e5SScott Kruger  after_script:
4659fbb52e5SScott Kruger    - make gcov
4669fbb52e5SScott Kruger  artifacts:
4679fbb52e5SScott Kruger    when: always
4689fbb52e5SScott Kruger    paths:
4698ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
4709fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
4719fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
4729fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
473b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
4749fbb52e5SScott Kruger    expire_in: 4 days
4759fbb52e5SScott Kruger
476a0eee5b0SSatish Balay
477a0eee5b0SSatish Balaylinux-cmplx-single:
478a0eee5b0SSatish Balay  extends:
479a0eee5b0SSatish Balay    - .stage-3
480a0eee5b0SSatish Balay    - .linux_test
481a0eee5b0SSatish Balay  tags:
482a0eee5b0SSatish Balay    - name:si
483a0eee5b0SSatish Balay  variables:
484a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-cmplx-single
485a0eee5b0SSatish Balay
486a0eee5b0SSatish Balaylinux-without-fc:
487a0eee5b0SSatish Balay  extends:
488a0eee5b0SSatish Balay    - .stage-3
489a0eee5b0SSatish Balay    - .linux_test
490a0eee5b0SSatish Balay  tags:
491a0eee5b0SSatish Balay    - name:si
492a0eee5b0SSatish Balay  variables:
493a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-without-fc
494a0eee5b0SSatish Balay
495c220a231SSatish Balaylinux-clang-avx:
496c220a231SSatish Balay  extends:
497c220a231SSatish Balay    - .stage-3
498c220a231SSatish Balay    - .linux_test
499c220a231SSatish Balay  tags:
500c220a231SSatish Balay    - name:isdp001
501c220a231SSatish Balay  variables:
502c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-clang-avx
503c220a231SSatish Balay
504c220a231SSatish Balaylinux-gcc-cxx-avx2:
505c220a231SSatish Balay  extends:
506c220a231SSatish Balay    - .stage-3
507c220a231SSatish Balay    - .linux_test
508c220a231SSatish Balay  tags:
509c220a231SSatish Balay    - name:isdp001
510c220a231SSatish Balay  variables:
511c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-gcc-cxx-avx2
512c220a231SSatish Balay
513c220a231SSatish Balaylinux-knl:
514c220a231SSatish Balay  extends:
515c220a231SSatish Balay    - .stage-3
516c220a231SSatish Balay    - .linux_test
517c220a231SSatish Balay  tags:
518c220a231SSatish Balay    - name:isdp001
519c220a231SSatish Balay  variables:
520c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-knl
521c220a231SSatish Balay
522bff34844SSatish Balaylinux-c-exodus-dbg:
523bff34844SSatish Balay  extends:
524bff34844SSatish Balay    - .stage-3
525bff34844SSatish Balay    - .linux_test
526bff34844SSatish Balay  tags:
5272056e1b5SSatish Balay    - gpu:nvidia, os:linux
528bff34844SSatish Balay  variables:
5291b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
530bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-c-exodus-dbg
531bff34844SSatish Balay
532213c392dSSatish Balaylinux-cuda-single-cxx:
533bff34844SSatish Balay  extends:
534bff34844SSatish Balay    - .stage-3
535bff34844SSatish Balay    - .linux_test
536bff34844SSatish Balay  tags:
5372056e1b5SSatish Balay    - gpu:nvidia, os:linux
538bff34844SSatish Balay  variables:
5391b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
540213c392dSSatish Balay    TEST_ARCH: arch-ci-linux-cuda-single-cxx
541bff34844SSatish Balay
542bff34844SSatish Balaylinux-viennacl:
543bff34844SSatish Balay  extends:
544bff34844SSatish Balay    - .stage-3
545bff34844SSatish Balay    - .linux_test
546bff34844SSatish Balay  tags:
5472056e1b5SSatish Balay    - gpu:nvidia, os:linux, name:frog
548bff34844SSatish Balay  variables:
549c68bd623SSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
550bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-viennacl
551bff34844SSatish Balay
552f8617054SSatish Balaylinux-opt-misc:
553f8617054SSatish Balay  extends:
554f8617054SSatish Balay    - .stage-3
555f8617054SSatish Balay    - .linux_test
556f8617054SSatish Balay  tags:
557e5898789SSatish Balay    - gce-nfs
558f8617054SSatish Balay  variables:
559f8617054SSatish Balay    TEST_ARCH: arch-ci-linux-opt-misc
560f8617054SSatish Balay
561f8617054SSatish Balaylinux-pkgs-cxx-mlib:
562f8617054SSatish Balay  extends:
563f8617054SSatish Balay    - .stage-3
564f8617054SSatish Balay    - .linux_test
565f8617054SSatish Balay  tags:
56623cb2c3dSSatish Balay    - name:pj02
567f8617054SSatish Balay  variables:
5681b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
569f8617054SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-cxx-mlib
570f8617054SSatish Balay
571c86e6cf2SSatish Balaylinux-cxx-cmplx-pkgs-64idx:
572c86e6cf2SSatish Balay  extends:
573c86e6cf2SSatish Balay    - .stage-3
574c86e6cf2SSatish Balay    - .linux_test
575c86e6cf2SSatish Balay  tags:
57623cb2c3dSSatish Balay    - name:pj01
577c86e6cf2SSatish Balay  variables:
578c86e6cf2SSatish Balay    TEST_ARCH: arch-ci-linux-cxx-cmplx-pkgs-64idx
579c86e6cf2SSatish Balay
580c86e6cf2SSatish Balaylinux-pkgs-dbg-ftn-interfaces:
581c86e6cf2SSatish Balay  extends:
582c86e6cf2SSatish Balay    - .stage-3
583c86e6cf2SSatish Balay    - .linux_test
584c86e6cf2SSatish Balay  tags:
58523cb2c3dSSatish Balay    - name:pj02
586c86e6cf2SSatish Balay  variables:
587c86e6cf2SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-dbg-ftn-interfaces
588c86e6cf2SSatish Balay
589e1f35f96SSatish Balaylinux-analyzer:
590e1f35f96SSatish Balay  extends:
591e1f35f96SSatish Balay    - .stage-3
592e1f35f96SSatish Balay    - .linux_test
593e1f35f96SSatish Balay  tags:
594e1f35f96SSatish Balay    - mcs-nfs
595e1f35f96SSatish Balay  variables:
596e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-analyzer
597e1f35f96SSatish Balay
598e1f35f96SSatish Balaylinux-gcc-ifc-cmplx:
599e1f35f96SSatish Balay  extends:
600e1f35f96SSatish Balay    - .stage-3
601e1f35f96SSatish Balay    - .linux_test
602e1f35f96SSatish Balay  tags:
603e1f35f96SSatish Balay    - mcs-nfs
604e1f35f96SSatish Balay  variables:
605e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-gcc-ifc-cmplx
606e1f35f96SSatish Balay
607e1f35f96SSatish Balaylinux-gcov:
608e1f35f96SSatish Balay  extends:
609e1f35f96SSatish Balay    - .stage-3
610e1f35f96SSatish Balay    - .linux_test
611e1f35f96SSatish Balay  tags:
612e1f35f96SSatish Balay    - mcs-nfs
613e1f35f96SSatish Balay  variables:
614e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-gcov
6159fbb52e5SScott Kruger  after_script:
6169fbb52e5SScott Kruger    - make gcov
6179fbb52e5SScott Kruger  artifacts:
6189fbb52e5SScott Kruger    when: always
6199fbb52e5SScott Kruger    paths:
6208ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
6219fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
6229fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
6239fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
624b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
6259fbb52e5SScott Kruger    expire_in: 4 days
6269fbb52e5SScott Kruger
627e1f35f96SSatish Balay
628e626c8ebSSatish Balaylinux-ILP64:
629e1f35f96SSatish Balay  extends:
630e1f35f96SSatish Balay    - .stage-3
631e1f35f96SSatish Balay    - .linux_test
632e1f35f96SSatish Balay  tags:
633e5898789SSatish Balay    - gce-nfs
634e1f35f96SSatish Balay  variables:
635e626c8ebSSatish Balay    TEST_ARCH: arch-ci-linux-ILP64
636e1f35f96SSatish Balay
637e1f35f96SSatish Balaylinux-matlab-ilp64-gcov:
638e1f35f96SSatish Balay  extends:
639e1f35f96SSatish Balay    - .stage-3
640e1f35f96SSatish Balay    - .linux_test
641e1f35f96SSatish Balay  tags:
642e1f35f96SSatish Balay    - mcs-nfs
643e1f35f96SSatish Balay  variables:
644e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-matlab-ilp64-gcov
6459fbb52e5SScott Kruger  after_script:
6469fbb52e5SScott Kruger    - make gcov
6479fbb52e5SScott Kruger  artifacts:
6489fbb52e5SScott Kruger    when: always
6499fbb52e5SScott Kruger    paths:
6508ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
6519fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
6529fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
6539fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
654b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
6559fbb52e5SScott Kruger    expire_in: 4 days
6569fbb52e5SScott Kruger
657e1f35f96SSatish Balay
658e1f35f96SSatish Balaylinux-opt-cxx-quad:
659e1f35f96SSatish Balay  extends:
660e1f35f96SSatish Balay    - .stage-3
661e1f35f96SSatish Balay    - .linux_test
662e1f35f96SSatish Balay  tags:
663e1f35f96SSatish Balay    - mcs-nfs
664e1f35f96SSatish Balay  variables:
665e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-opt-cxx-quad
666e1f35f96SSatish Balay
667e1f35f96SSatish Balaylinux-pgi:
668e1f35f96SSatish Balay  extends:
669e1f35f96SSatish Balay    - .stage-3
670bb8bb6b6SSatish Balay    - .linux_test_noflags
671e1f35f96SSatish Balay  tags:
67223cb2c3dSSatish Balay    - mcs-nfs,name:petsc
673e1f35f96SSatish Balay  variables:
674e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pgi
675e1f35f96SSatish Balay
676e1f35f96SSatish Balaylinux-pkgs-64idx:
677e1f35f96SSatish Balay  extends:
678e1f35f96SSatish Balay    - .stage-3
679e1f35f96SSatish Balay    - .linux_test
680e1f35f96SSatish Balay  tags:
681e1f35f96SSatish Balay    - mcs-nfs
682e1f35f96SSatish Balay  variables:
683e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-64idx
684e1f35f96SSatish Balay
685e1f35f96SSatish Balaylinux-pkgs-gcov:
686e1f35f96SSatish Balay  extends:
687e1f35f96SSatish Balay    - .stage-3
688e1f35f96SSatish Balay    - .linux_test
689e1f35f96SSatish Balay  tags:
690e1f35f96SSatish Balay    - mcs-nfs
691e1f35f96SSatish Balay  variables:
692e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-gcov
6939fbb52e5SScott Kruger  after_script:
6949fbb52e5SScott Kruger    - make gcov
6959fbb52e5SScott Kruger  artifacts:
6969fbb52e5SScott Kruger    when: always
6979fbb52e5SScott Kruger    paths:
6988ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
6999fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
7009fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
7019fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
702b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
7039fbb52e5SScott Kruger    expire_in: 4 days
704e1f35f96SSatish Balay
705e1f35f96SSatish Balaylinux-pkgs-opt:
706e1f35f96SSatish Balay  extends:
707e1f35f96SSatish Balay    - .stage-3
708e1f35f96SSatish Balay    - .linux_test
709e1f35f96SSatish Balay  tags:
710e5898789SSatish Balay    - gce-nfs
711e1f35f96SSatish Balay  variables:
7121b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
713e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-opt
714e1f35f96SSatish Balay
715e1f35f96SSatish Balaylinux-pkgs-valgrind:
716e1f35f96SSatish Balay  extends:
717e1f35f96SSatish Balay    - .stage-3
718e1f35f96SSatish Balay    - .linux_test
719e1f35f96SSatish Balay  tags:
7207c608d60SSatish Balay    - valgrind
721e1f35f96SSatish Balay  variables:
722e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-valgrind
723ea9ab0baSSatish Balay    TIMEOUT: 7200
724e1f35f96SSatish Balay
725e1f35f96SSatish Balaylinux-xsdk-dbg:
726e1f35f96SSatish Balay  extends:
727e1f35f96SSatish Balay    - .stage-3
728e1f35f96SSatish Balay    - .linux_test
729e1f35f96SSatish Balay  tags:
730e1f35f96SSatish Balay    - mcs-nfs
731e1f35f96SSatish Balay  variables:
732e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-xsdk-dbg
733e1f35f96SSatish Balay
73443199586SSatish Balaylinux-intel:
735e1f35f96SSatish Balay  extends:
736e1f35f96SSatish Balay    - .stage-3
737e5898789SSatish Balay    - .linux_test_noflags
738e1f35f96SSatish Balay  tags:
739e5898789SSatish Balay    - gce-nfs
740e1f35f96SSatish Balay  variables:
74143199586SSatish Balay    TEST_ARCH: arch-ci-linux-intel
742e5898789SSatish Balay    LOAD_MODULES: intel-mkl/19.5 intel/19.0
74343199586SSatish Balay
74443199586SSatish Balaylinux-intel-cmplx:
74543199586SSatish Balay  extends:
74643199586SSatish Balay    - .stage-3
747e5898789SSatish Balay    - .linux_test_noflags
74843199586SSatish Balay  tags:
749e5898789SSatish Balay    - gce-nfs
75043199586SSatish Balay  variables:
75143199586SSatish Balay    TEST_ARCH: arch-ci-linux-intel-cmplx
752e5898789SSatish Balay    LOAD_MODULES: intel-mkl/19.5 intel/19.0
753e1f35f96SSatish Balay
75406c8a052SSatish Balaylinux-nagfor:
75506c8a052SSatish Balay  extends:
75606c8a052SSatish Balay    - .stage-3
75706c8a052SSatish Balay    - .linux_test
75806c8a052SSatish Balay  tags:
75906c8a052SSatish Balay    - mcs-nfs
76006c8a052SSatish Balay  variables:
76106c8a052SSatish Balay    TEST_ARCH: arch-ci-linux-nagfor
7620798d038SSatish Balay    MAKE_FFLAGS: -DNO_WERROR_FLAG
76306c8a052SSatish Balay
764b0e5478fSScott Kruger# job for analyzing the final coverage results
765b0e5478fSScott Krugeranalyze-pipeline:
766*8c8640b9SSatish Balay  extends: .test
767b0e5478fSScott Kruger  stage: .post
768b0e5478fSScott Kruger  image: jedbrown/mpich-ccache
769*8c8640b9SSatish Balay  tags:
770*8c8640b9SSatish Balay    - docker
771*8c8640b9SSatish Balay  dependencies:
772b0e5478fSScott Kruger  variables:
773b0e5478fSScott Kruger    PYTHON: python3
774b0e5478fSScott Kruger    # Need a dummy TEST_ARCH that comes from artifacts
775b0e5478fSScott Kruger    TEST_ARCH: arch-ci-linux-pkgs-gcov
776b0e5478fSScott Kruger  allow_failure: true
777b0e5478fSScott Kruger  before_script:
778b0e5478fSScott Kruger    - date
779b0e5478fSScott Kruger  script:
780b0e5478fSScott Kruger  - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
781b0e5478fSScott Kruger#  - make mergegcov LOC=$PWD
782b0e5478fSScott Kruger  - ${PYTHON} lib/petsc/bin/maint/gcov.py --merge_gcov --loc=${PWD} --petsc_arch ${TEST_ARCH}
783b0e5478fSScott Kruger  - ls
784b0e5478fSScott Kruger  - ls arch*/*
785b0e5478fSScott Kruger  artifacts:
786b0e5478fSScott Kruger    name: "$CI_JOB_NAME"
787b0e5478fSScott Kruger    when: always
788b0e5478fSScott Kruger    paths:
789b0e5478fSScott Kruger    - i*.html
790b0e5478fSScott Kruger    - arch-*-gcov/*
791b0e5478fSScott Kruger    expire_in: 4 days
792b0e5478fSScott Kruger#
79328d80369SJed Brown#
79428d80369SJed Brown# The following tests are experimental; more tests by users at other sites may be added below this.  Experimental test
79528d80369SJed Brown# that fail produce a warning, but do not block execution of a pipeline.
79628d80369SJed Brown#
79728d80369SJed Brown
79828d80369SJed Brown.test-experimental:
79928d80369SJed Brown  extends: .test
80028d80369SJed Brown  allow_failure: true
80128d80369SJed Brown
802