xref: /petsc/.gitlab-ci.yml (revision ce4f1cd569772c5781bcd70ba6a5087d4a711500)
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
398c8640b9SSatish Balaycheck-ci-settings:
408c8640b9SSatish Balay  extends: .test
418c8640b9SSatish Balay  stage: .pre
428c8640b9SSatish Balay  tags:
438c8640b9SSatish Balay    - check-ci-settings
448c8640b9SSatish Balay  script:
458c8640b9SSatish 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
59*ce4f1cd5SJed Brown    - nproc
60*ce4f1cd5SJed Brown    - lscpu
61*ce4f1cd5SJed Brown    - export CCACHE_COMPILERCHECK=content CCACHE_DIR=$(pwd)/.ccache
6204bc68e0SJed Brown    - ccache --show-stats
6304bc68e0SJed Brown    - ccache --zero-stats
64*ce4f1cd5SJed Brown    - echo ${CONFIG_OPTS}
65340aff75SJed Brown  script:
661c6b2e5dSSatish Balay    - ${PYTHON} ./configure --with-debugging=0 COPTFLAGS='-O -march=native' CXXOPTFLAGS='-O -march=native' FOPTFLAGS='-O -march=native' ${CONFIG_OPTS}
670798d038SSatish Balay    - make CFLAGS=-Werror CXXFLAGS=-Werror FFLAGS=-Werror
680798d038SSatish Balay    - make CFLAGS=-Werror CXXFLAGS=-Werror FFLAGS=-Werror allgtests-tap search="${TEST_SEARCH}" TIMEOUT=${TIMEOUT}
693d889285SJed Brown  after_script:
7044862ab0SSatish Balay    - date
7104bc68e0SJed Brown    - CCACHE_DIR=$(pwd)/.ccache ccache --show-stats
72e22b0966SJed Brown  artifacts:
73e22b0966SJed Brown    reports:
74e22b0966SJed Brown      junit: arch-*/tests/testresults.xml
759fbb52e5SScott Kruger    name: "$CI_JOB_NAME"
769fbb52e5SScott Kruger    when: always
779fbb52e5SScott Kruger    paths:
788ed11d4aSPatrick Sanan    - arch-*/lib/petsc/conf/*.log
799fbb52e5SScott Kruger    - arch-*/tests/testresults.xml
809fbb52e5SScott Kruger    - arch-*/tests/test_*_tap.log
819fbb52e5SScott Kruger    - arch-*/tests/test_*_err.log
829fbb52e5SScott Kruger    expire_in: 4 days
833d889285SJed Brown  cache:
843d889285SJed Brown    paths:
8504bc68e0SJed Brown      - .ccache/
863d889285SJed Brown    key: "${CI_JOB_NAME}"
87e74c1a09SJed Brown
8828d80369SJed Brown#
89815ac3f0SSatish Balay# The following tests run on the cloud as part of stage-1.
9028d80369SJed Brown#
9128d80369SJed Brown
921c6b2e5dSSatish Balaympich-cxx-py3:
939c15ed49SBarry Smith  extends: .stage-1
94e74c1a09SJed Brown  variables:
951c6b2e5dSSatish Balay    PYTHON: python3
961c6b2e5dSSatish Balay    CONFIG_OPTS: --with-mpi-dir=/usr/local --with-clanguage=cxx --with-fc=0
97e74c1a09SJed Brown    TEST_SEARCH: snes_tutorials-ex48%
98340aff75SJed Brown
99340aff75SJed Brownuni-complex-float-int64:
1009c15ed49SBarry Smith  extends: .stage-1
101e74c1a09SJed Brown  variables:
1021c6b2e5dSSatish Balay    PYTHON: python3
103e525aa6fSSatish Balay    CONFIG_OPTS: --with-mpi=0 --with-scalar-type=complex --with-precision=single --with-64-bit-indices
104e74c1a09SJed Brown    TEST_SEARCH: ts_tutorials-ex11_adv_2d_quad_%
105340aff75SJed Brown
1061c6b2e5dSSatish Balayc89-mlib-static-py2:
1079c15ed49SBarry Smith  extends: .stage-1
1083d889285SJed Brown  image: jedbrown/mpich-ccache:python2
1091c6b2e5dSSatish Balay  variables:
110377e4ec7SSatish Balay    PYTHON: python2
111e525aa6fSSatish Balay    CONFIG_OPTS: --with-mpi-dir=/usr/local --with-single-library=0 --with-shared-libraries=0 CFLAGS=-std=c89
112c05b70c4SSatish Balay    TEST_SEARCH: snes_tutorials-ex19%
1131c6b2e5dSSatish Balay
114689e4609SSatish Balaychecksource:
115689e4609SSatish Balay  extends: .test
116689e4609SSatish Balay  image: jedbrown/mpich-ccache
117689e4609SSatish Balay  stage: stage-1
118689e4609SSatish Balay  script:
119689e4609SSatish Balay    - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
120689e4609SSatish Balay    - make checkbadSource SHELL=bash
1215e361860SScott Kruger    - make check_output SHELL=bash
122689e4609SSatish Balay
12328d80369SJed Brown#
124815ac3f0SSatish Balay# This provides the basic order of operations and options template for stage-2,3 tests.
125815ac3f0SSatish Balay# Not all stage-2,3 need to follow this template, but most will.
12628d80369SJed Brown#
127815ac3f0SSatish Balay.stage-23:
12828d80369SJed Brown  extends: .test
12944cd3865SJed Brown  script:
1301b8cc14cSSatish Balay    - printf "PATH:$PATH\n"
1311b8cc14cSSatish Balay    - printf "PETSC_OPTIONS:$PETSC_OPTIONS\n"
132b9ee52b1SSatish Balay    - printf "./config/examples/${TEST_ARCH}.py\n"
133b9ee52b1SSatish Balay    - cat ./config/examples/${TEST_ARCH}.py
1341702e285SSatish Balay    - ./config/examples/${TEST_ARCH}.py
1350798d038SSatish Balay    - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS}
1360798d038SSatish Balay    - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS} check
137af5a22a1SSatish Balay    - make updatedatafiles
1380798d038SSatish Balay    - if [ -z ${DISABLE_TESTS+x} ]; then make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS} cleantest allgtests-tap TIMEOUT=${TIMEOUT}; fi
1398166029eSJed Brown  artifacts:
1408166029eSJed Brown    reports:
1418166029eSJed Brown      junit: ${TEST_ARCH}/tests/testresults.xml
1429fbb52e5SScott Kruger    name: "$CI_JOB_NAME"
1439fbb52e5SScott Kruger    when: always
1449fbb52e5SScott Kruger    paths:
1458ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
1469fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
1479fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
1489fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
1499fbb52e5SScott Kruger    expire_in: 4 days
150b0b73feeSBarry Smith  variables:
151b0b73feeSBarry Smith    OPENBLAS_NUM_THREADS: 1
15244cd3865SJed Brown
153815ac3f0SSatish Balay.stage-2:
154815ac3f0SSatish Balay  extends: .stage-23
155815ac3f0SSatish Balay  stage: stage-2
156815ac3f0SSatish Balay  only:
157815ac3f0SSatish Balay    variables:
158815ac3f0SSatish Balay      - $STAGE != "1"
159815ac3f0SSatish Balay      - $STAGE != "3"
160815ac3f0SSatish Balay
161815ac3f0SSatish Balay.stage-3:
162815ac3f0SSatish Balay  extends: .stage-23
163815ac3f0SSatish Balay  stage: stage-3
164815ac3f0SSatish Balay  only:
165815ac3f0SSatish Balay    variables:
166815ac3f0SSatish Balay      - $STAGE != "1"
167815ac3f0SSatish Balay      - $STAGE != "2"
168815ac3f0SSatish Balay
16928d80369SJed Brown#
170815ac3f0SSatish Balay# The following provide templates for various OSes for pre/post info
17128d80369SJed Brown#
17228d80369SJed Brown
173bb8bb6b6SSatish Balay.linux_test_noflags:
1741702e285SSatish Balay  before_script:
17544862ab0SSatish Balay    - date
1761702e285SSatish Balay    - hostname
1771702e285SSatish Balay    - grep PRETTY_NAME /etc/os-release
178*ce4f1cd5SJed Brown    - nproc
179*ce4f1cd5SJed Brown    - lscpu
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
228*ce4f1cd5SJed Brown    - nproc
229*ce4f1cd5SJed Brown    - isainfo -x
230cc029b31SSatish Balay  after_script:
23144862ab0SSatish Balay    - date
23220099508SSatish Balay
233f99eff61SSatish Balay.mswin_test:
234f99eff61SSatish Balay  before_script:
23544862ab0SSatish Balay    - date
236f99eff61SSatish Balay    - hostname
237f99eff61SSatish Balay    - uname -a
238*ce4f1cd5SJed Brown    - nproc
239cc029b31SSatish Balay  after_script:
24044862ab0SSatish Balay    - date
241f99eff61SSatish Balay
242815ac3f0SSatish Balay#
243815ac3f0SSatish Balay# The following tests run as part of stage-2.
244815ac3f0SSatish Balay#
245815ac3f0SSatish Balay# The tags variable used in the tests below connects the particular test with the runners
246815ac3f0SSatish Balay# listed on the left hand side of https://gitlab.com/petsc/petsc/-/settings/ci_cd.
247815ac3f0SSatish Balay# For example the test linux-gcc-complex-opt  any runner that has the tag 'name:pj02'
248815ac3f0SSatish Balay# (in a blue box beneath it)
249815ac3f0SSatish Balay#
250f923398bSSatish Balay
2511702e285SSatish Balaylinux-gcc-complex-opt:
252815ac3f0SSatish Balay  extends:
253815ac3f0SSatish Balay    - .stage-2
254815ac3f0SSatish Balay    - .linux_test
255815ac3f0SSatish Balay  tags:
2560798d038SSatish Balay    - linux-stage2
2571702e285SSatish Balay  variables:
2584d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-complex-opt
2591702e285SSatish Balay
2601702e285SSatish Balaylinux-gcc-pkgs-opt:
261815ac3f0SSatish Balay  extends:
262815ac3f0SSatish Balay    - .stage-2
263815ac3f0SSatish Balay    - .linux_test
264815ac3f0SSatish Balay  tags:
2650798d038SSatish Balay    - linux-stage2
2661702e285SSatish Balay  variables:
2674d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-pkgs-opt
2681702e285SSatish Balay
2691702e285SSatish Balaylinux-gcc-quad-64idx-dbg:
270815ac3f0SSatish Balay  extends:
271815ac3f0SSatish Balay    - .stage-2
272815ac3f0SSatish Balay    - .linux_test
273815ac3f0SSatish Balay  tags:
2740798d038SSatish Balay    - linux-stage2
2751702e285SSatish Balay  variables:
2764d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-quad-64idx-dbg
2771702e285SSatish Balay
278bff34844SSatish Balaylinux-cuda-double:
279bff34844SSatish Balay  extends:
280bff34844SSatish Balay    - .stage-2
281bff34844SSatish Balay    - .linux_test
282bff34844SSatish Balay  tags:
2834e811bafSSatish Balay    - gpu:nvidia, os:linux, name:p1
284bff34844SSatish Balay  variables:
2851b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
286bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-cuda-double
287bff34844SSatish Balay
2881702e285SSatish Balayfreebsd-c-single-opt:
289815ac3f0SSatish Balay  extends:
290815ac3f0SSatish Balay    - .stage-2
291815ac3f0SSatish Balay    - .freebsd_test
292815ac3f0SSatish Balay  tags:
2938f055d49SSatish Balay    - os:fbsd
2941702e285SSatish Balay  variables:
2954d09bf9bSSatish Balay    TEST_ARCH: arch-ci-freebsd-c-single-opt
2961702e285SSatish Balay
2971702e285SSatish Balayfreebsd-cxx-cmplx-64idx-dbg:
298815ac3f0SSatish Balay  extends:
299815ac3f0SSatish Balay    - .stage-2
300815ac3f0SSatish Balay    - .freebsd_test
301815ac3f0SSatish Balay  tags:
302eec22f94SSatish Balay    - os:fbsd
3031702e285SSatish Balay  variables:
3044d09bf9bSSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-64idx-dbg
3058623489dSJed Brown
306afaeda6eSSatish Balayopensolaris-misc:
307815ac3f0SSatish Balay  extends:
30897745379SSatish Balay    - .stage-3
309815ac3f0SSatish Balay    - .opensolaris_test
310815ac3f0SSatish Balay  tags:
311815ac3f0SSatish Balay    - name:n-gage
31220099508SSatish Balay  variables:
313afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-misc
3144f89072dSBarry Smith
315815ac3f0SSatish Balayosx-cxx-pkgs-opt:
316815ac3f0SSatish Balay  extends:
31788f5c5c9SSatish Balay    - .stage-3
318815ac3f0SSatish Balay    - .osx_test
319815ac3f0SSatish Balay  tags:
320eec22f94SSatish Balay    - os:macos
321815ac3f0SSatish Balay  variables:
3221b8cc14cSSatish 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
323815ac3f0SSatish Balay    TEST_ARCH: arch-ci-osx-cxx-pkgs-opt
324815ac3f0SSatish Balay
325f99eff61SSatish Balaymswin-uni:
326f99eff61SSatish Balay  extends:
327f99eff61SSatish Balay    - .stage-2
328f99eff61SSatish Balay    - .mswin_test
329f99eff61SSatish Balay  tags:
33097745379SSatish Balay    - name:ps5-2
331f99eff61SSatish Balay  variables:
332f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-uni
333f99eff61SSatish Balay
33470881346SSatish Balaymswin-gnu:
33570881346SSatish Balay  extends:
33670881346SSatish Balay    - .stage-2
33770881346SSatish Balay    - .mswin_test
33870881346SSatish Balay  tags:
33970881346SSatish Balay    - name:ps5-3
34070881346SSatish Balay  variables:
34170881346SSatish Balay    TEST_ARCH: arch-ci-mswin-gnu
34270881346SSatish Balay    MAKE_CFLAGS: -Werror
34370881346SSatish Balay    MAKE_CXXFLAGS: -Werror
3440798d038SSatish Balay    MAKE_FFLAGS: -Werror
34570881346SSatish Balay    DISABLE_TESTS: 1
34670881346SSatish Balay  artifacts:
34770881346SSatish Balay    reports:
34870881346SSatish Balay    paths:
34970881346SSatish Balay    - arch-*/lib/petsc/conf/*.log
35070881346SSatish Balay    expire_in: 4 days
35170881346SSatish Balay
352f99eff61SSatish Balay#
353f99eff61SSatish Balay# The following tests run as part of stage-3.
354f99eff61SSatish Balay#
355f99eff61SSatish Balay
356f99eff61SSatish Balaymswin-intel-cxx-cmplx:
357f99eff61SSatish Balay  extends:
358f99eff61SSatish Balay    - .stage-3
359f99eff61SSatish Balay    - .mswin_test
360f99eff61SSatish Balay  tags:
361d4f02cf1SSatish Balay    - name:ps5
362f99eff61SSatish Balay  variables:
363f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-intel-cxx-cmplx
364f99eff61SSatish Balay
365f99eff61SSatish Balaymswin-intel:
366f99eff61SSatish Balay  extends:
367f99eff61SSatish Balay    - .stage-3
368f99eff61SSatish Balay    - .mswin_test
369f99eff61SSatish Balay  tags:
370d4f02cf1SSatish Balay    - name:ps5
371f99eff61SSatish Balay  variables:
372f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-intel
373f99eff61SSatish Balay
3747c608d60SSatish Balaymswin-opt-impi:
375f99eff61SSatish Balay  extends:
376f99eff61SSatish Balay    - .stage-3
377f99eff61SSatish Balay    - .mswin_test
378f99eff61SSatish Balay  tags:
379f99eff61SSatish Balay    - name:ps4
380f99eff61SSatish Balay  variables:
381f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-opt-impi
382f99eff61SSatish Balay
383afaeda6eSSatish Balayopensolaris-cmplx-pkgs-dbg:
384afaeda6eSSatish Balay  extends:
385afaeda6eSSatish Balay    - .stage-3
386afaeda6eSSatish Balay    - .opensolaris_test
387afaeda6eSSatish Balay  tags:
388afaeda6eSSatish Balay    - name:n-gage
389afaeda6eSSatish Balay  variables:
390afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg
391afaeda6eSSatish Balay
392afaeda6eSSatish Balayopensolaris-pkgs-opt:
393afaeda6eSSatish Balay  extends:
394afaeda6eSSatish Balay    - .stage-3
395afaeda6eSSatish Balay    - .opensolaris_test
396afaeda6eSSatish Balay  tags:
397afaeda6eSSatish Balay    - name:n-gage
398afaeda6eSSatish Balay  variables:
399afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-pkgs-opt
4008f055d49SSatish Balay
4018f055d49SSatish Balayfreebsd-pkgs-opt:
4028f055d49SSatish Balay  extends:
4038f055d49SSatish Balay    - .stage-3
4048f055d49SSatish Balay    - .freebsd_test
4058f055d49SSatish Balay  tags:
4068f055d49SSatish Balay    - os:fbsd
4078f055d49SSatish Balay  variables:
4088f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-pkgs-opt
4098f055d49SSatish Balay
4108f055d49SSatish Balayfreebsd-cxx-cmplx-pkgs-dbg:
4118f055d49SSatish Balay  extends:
4128f055d49SSatish Balay    - .stage-3
4138f055d49SSatish Balay    - .freebsd_test
4148f055d49SSatish Balay  tags:
4158f055d49SSatish Balay    - os:fbsd
4168f055d49SSatish Balay  variables:
4178f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-pkgs-dbg
4188f055d49SSatish Balay
4198f055d49SSatish Balayfreebsd-cxx-pkgs-opt:
4208f055d49SSatish Balay  extends:
4218f055d49SSatish Balay    - .stage-3
4228f055d49SSatish Balay    - .freebsd_test
4238f055d49SSatish Balay  tags:
4248f055d49SSatish Balay    - os:fbsd
4258f055d49SSatish Balay  variables:
4261b8cc14cSSatish 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
4278f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-pkgs-opt
4288f055d49SSatish Balay
42981c5bd19SSatish Balayosx-cxx-cmplx-pkgs-dbg:
43081c5bd19SSatish Balay  extends:
43181c5bd19SSatish Balay    - .stage-3
43281c5bd19SSatish Balay    - .osx_test
43381c5bd19SSatish Balay  tags:
434eec22f94SSatish Balay    - os:macos
43581c5bd19SSatish Balay  variables:
43681c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-cxx-cmplx-pkgs-dbg
43781c5bd19SSatish Balay
43881c5bd19SSatish Balayosx-dbg:
43981c5bd19SSatish Balay  extends:
44081c5bd19SSatish Balay    - .stage-3
44181c5bd19SSatish Balay    - .osx_test
44281c5bd19SSatish Balay  tags:
443eec22f94SSatish Balay    - os:macos
44481c5bd19SSatish Balay  variables:
44581c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-dbg
44681c5bd19SSatish Balay
44781c5bd19SSatish Balayosx-xsdk-opt:
44881c5bd19SSatish Balay  extends:
44981c5bd19SSatish Balay    - .stage-3
45081c5bd19SSatish Balay    - .osx_test
45181c5bd19SSatish Balay  tags:
452eec22f94SSatish Balay    - os:macos
45381c5bd19SSatish Balay  variables:
45481c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-xsdk-opt
45581c5bd19SSatish Balay
456a0eee5b0SSatish Balaylinux-cmplx-gcov:
457a0eee5b0SSatish Balay  extends:
458a0eee5b0SSatish Balay    - .stage-3
459a0eee5b0SSatish Balay    - .linux_test
460a0eee5b0SSatish Balay  tags:
46123cb2c3dSSatish Balay    - mcs-nfs
462a0eee5b0SSatish Balay  variables:
4631b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -vecscatter_mpi1 false -options_left false
464a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-cmplx-gcov
4659fbb52e5SScott Kruger  after_script:
4669fbb52e5SScott Kruger    - make gcov
4679fbb52e5SScott Kruger  artifacts:
4689fbb52e5SScott Kruger    when: always
4699fbb52e5SScott Kruger    paths:
4708ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
4719fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
4729fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
4739fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
474b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
4759fbb52e5SScott Kruger    expire_in: 4 days
4769fbb52e5SScott Kruger
477a0eee5b0SSatish Balay
478a0eee5b0SSatish Balaylinux-cmplx-single:
479a0eee5b0SSatish Balay  extends:
480a0eee5b0SSatish Balay    - .stage-3
481a0eee5b0SSatish Balay    - .linux_test
482a0eee5b0SSatish Balay  tags:
483a0eee5b0SSatish Balay    - name:si
484a0eee5b0SSatish Balay  variables:
485a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-cmplx-single
486a0eee5b0SSatish Balay
487a0eee5b0SSatish Balaylinux-without-fc:
488a0eee5b0SSatish Balay  extends:
489a0eee5b0SSatish Balay    - .stage-3
490a0eee5b0SSatish Balay    - .linux_test
491a0eee5b0SSatish Balay  tags:
492a0eee5b0SSatish Balay    - name:si
493a0eee5b0SSatish Balay  variables:
494a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-without-fc
495a0eee5b0SSatish Balay
496c220a231SSatish Balaylinux-clang-avx:
497c220a231SSatish Balay  extends:
498c220a231SSatish Balay    - .stage-3
499c220a231SSatish Balay    - .linux_test
500c220a231SSatish Balay  tags:
501c220a231SSatish Balay    - name:isdp001
502c220a231SSatish Balay  variables:
503c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-clang-avx
504c220a231SSatish Balay
505c220a231SSatish Balaylinux-gcc-cxx-avx2:
506c220a231SSatish Balay  extends:
507c220a231SSatish Balay    - .stage-3
508c220a231SSatish Balay    - .linux_test
509c220a231SSatish Balay  tags:
510c220a231SSatish Balay    - name:isdp001
511c220a231SSatish Balay  variables:
512c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-gcc-cxx-avx2
513c220a231SSatish Balay
514c220a231SSatish Balaylinux-knl:
515c220a231SSatish Balay  extends:
516c220a231SSatish Balay    - .stage-3
517c220a231SSatish Balay    - .linux_test
518c220a231SSatish Balay  tags:
519c220a231SSatish Balay    - name:isdp001
520c220a231SSatish Balay  variables:
521c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-knl
522c220a231SSatish Balay
523bff34844SSatish Balaylinux-c-exodus-dbg:
524bff34844SSatish Balay  extends:
525bff34844SSatish Balay    - .stage-3
526bff34844SSatish Balay    - .linux_test
527bff34844SSatish Balay  tags:
5282056e1b5SSatish Balay    - gpu:nvidia, os:linux
529bff34844SSatish Balay  variables:
5301b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
531bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-c-exodus-dbg
532bff34844SSatish Balay
533213c392dSSatish Balaylinux-cuda-single-cxx:
534bff34844SSatish Balay  extends:
535bff34844SSatish Balay    - .stage-3
536bff34844SSatish Balay    - .linux_test
537bff34844SSatish Balay  tags:
5382056e1b5SSatish Balay    - gpu:nvidia, os:linux
539bff34844SSatish Balay  variables:
5401b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
541213c392dSSatish Balay    TEST_ARCH: arch-ci-linux-cuda-single-cxx
542bff34844SSatish Balay
543bff34844SSatish Balaylinux-viennacl:
544bff34844SSatish Balay  extends:
545bff34844SSatish Balay    - .stage-3
546bff34844SSatish Balay    - .linux_test
547bff34844SSatish Balay  tags:
5482056e1b5SSatish Balay    - gpu:nvidia, os:linux, name:frog
549bff34844SSatish Balay  variables:
550c68bd623SSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
551bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-viennacl
552bff34844SSatish Balay
553f8617054SSatish Balaylinux-opt-misc:
554f8617054SSatish Balay  extends:
555f8617054SSatish Balay    - .stage-3
556f8617054SSatish Balay    - .linux_test
557f8617054SSatish Balay  tags:
558e5898789SSatish Balay    - gce-nfs
559f8617054SSatish Balay  variables:
560f8617054SSatish Balay    TEST_ARCH: arch-ci-linux-opt-misc
561f8617054SSatish Balay
562f8617054SSatish Balaylinux-pkgs-cxx-mlib:
563f8617054SSatish Balay  extends:
564f8617054SSatish Balay    - .stage-3
565f8617054SSatish Balay    - .linux_test
566f8617054SSatish Balay  tags:
56723cb2c3dSSatish Balay    - name:pj02
568f8617054SSatish Balay  variables:
5691b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
570f8617054SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-cxx-mlib
571f8617054SSatish Balay
572c86e6cf2SSatish Balaylinux-cxx-cmplx-pkgs-64idx:
573c86e6cf2SSatish Balay  extends:
574c86e6cf2SSatish Balay    - .stage-3
575c86e6cf2SSatish Balay    - .linux_test
576c86e6cf2SSatish Balay  tags:
57723cb2c3dSSatish Balay    - name:pj01
578c86e6cf2SSatish Balay  variables:
579c86e6cf2SSatish Balay    TEST_ARCH: arch-ci-linux-cxx-cmplx-pkgs-64idx
580c86e6cf2SSatish Balay
581c86e6cf2SSatish Balaylinux-pkgs-dbg-ftn-interfaces:
582c86e6cf2SSatish Balay  extends:
583c86e6cf2SSatish Balay    - .stage-3
584c86e6cf2SSatish Balay    - .linux_test
585c86e6cf2SSatish Balay  tags:
58623cb2c3dSSatish Balay    - name:pj02
587c86e6cf2SSatish Balay  variables:
588c86e6cf2SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-dbg-ftn-interfaces
589c86e6cf2SSatish Balay
590e1f35f96SSatish Balaylinux-analyzer:
591e1f35f96SSatish Balay  extends:
592e1f35f96SSatish Balay    - .stage-3
593e1f35f96SSatish Balay    - .linux_test
594e1f35f96SSatish Balay  tags:
595e1f35f96SSatish Balay    - mcs-nfs
596e1f35f96SSatish Balay  variables:
597e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-analyzer
598e1f35f96SSatish Balay
599e1f35f96SSatish Balaylinux-gcc-ifc-cmplx:
600e1f35f96SSatish Balay  extends:
601e1f35f96SSatish Balay    - .stage-3
602e1f35f96SSatish Balay    - .linux_test
603e1f35f96SSatish Balay  tags:
604e1f35f96SSatish Balay    - mcs-nfs
605e1f35f96SSatish Balay  variables:
606e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-gcc-ifc-cmplx
607e1f35f96SSatish Balay
608e1f35f96SSatish Balaylinux-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-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
629e626c8ebSSatish Balaylinux-ILP64:
630e1f35f96SSatish Balay  extends:
631e1f35f96SSatish Balay    - .stage-3
632e1f35f96SSatish Balay    - .linux_test
633e1f35f96SSatish Balay  tags:
634e5898789SSatish Balay    - gce-nfs
635e1f35f96SSatish Balay  variables:
636e626c8ebSSatish Balay    TEST_ARCH: arch-ci-linux-ILP64
637e1f35f96SSatish Balay
638e1f35f96SSatish Balaylinux-matlab-ilp64-gcov:
639e1f35f96SSatish Balay  extends:
640e1f35f96SSatish Balay    - .stage-3
641e1f35f96SSatish Balay    - .linux_test
642e1f35f96SSatish Balay  tags:
643e1f35f96SSatish Balay    - mcs-nfs
644e1f35f96SSatish Balay  variables:
645e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-matlab-ilp64-gcov
6469fbb52e5SScott Kruger  after_script:
6479fbb52e5SScott Kruger    - make gcov
6489fbb52e5SScott Kruger  artifacts:
6499fbb52e5SScott Kruger    when: always
6509fbb52e5SScott Kruger    paths:
6518ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
6529fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
6539fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
6549fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
655b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
6569fbb52e5SScott Kruger    expire_in: 4 days
6579fbb52e5SScott Kruger
658e1f35f96SSatish Balay
659e1f35f96SSatish Balaylinux-opt-cxx-quad:
660e1f35f96SSatish Balay  extends:
661e1f35f96SSatish Balay    - .stage-3
662e1f35f96SSatish Balay    - .linux_test
663e1f35f96SSatish Balay  tags:
664e1f35f96SSatish Balay    - mcs-nfs
665e1f35f96SSatish Balay  variables:
666e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-opt-cxx-quad
667e1f35f96SSatish Balay
668e1f35f96SSatish Balaylinux-pgi:
669e1f35f96SSatish Balay  extends:
670e1f35f96SSatish Balay    - .stage-3
671bb8bb6b6SSatish Balay    - .linux_test_noflags
672e1f35f96SSatish Balay  tags:
67323cb2c3dSSatish Balay    - mcs-nfs,name:petsc
674e1f35f96SSatish Balay  variables:
675e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pgi
676e1f35f96SSatish Balay
677e1f35f96SSatish Balaylinux-pkgs-64idx:
678e1f35f96SSatish Balay  extends:
679e1f35f96SSatish Balay    - .stage-3
680e1f35f96SSatish Balay    - .linux_test
681e1f35f96SSatish Balay  tags:
682e1f35f96SSatish Balay    - mcs-nfs
683e1f35f96SSatish Balay  variables:
684e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-64idx
685e1f35f96SSatish Balay
686e1f35f96SSatish Balaylinux-pkgs-gcov:
687e1f35f96SSatish Balay  extends:
688e1f35f96SSatish Balay    - .stage-3
689e1f35f96SSatish Balay    - .linux_test
690e1f35f96SSatish Balay  tags:
691e1f35f96SSatish Balay    - mcs-nfs
692e1f35f96SSatish Balay  variables:
693e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-gcov
6949fbb52e5SScott Kruger  after_script:
6959fbb52e5SScott Kruger    - make gcov
6969fbb52e5SScott Kruger  artifacts:
6979fbb52e5SScott Kruger    when: always
6989fbb52e5SScott Kruger    paths:
6998ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
7009fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
7019fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
7029fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
703b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
7049fbb52e5SScott Kruger    expire_in: 4 days
705e1f35f96SSatish Balay
706e1f35f96SSatish Balaylinux-pkgs-opt:
707e1f35f96SSatish Balay  extends:
708e1f35f96SSatish Balay    - .stage-3
709e1f35f96SSatish Balay    - .linux_test
710e1f35f96SSatish Balay  tags:
711e5898789SSatish Balay    - gce-nfs
712e1f35f96SSatish Balay  variables:
7131b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
714e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-opt
715e1f35f96SSatish Balay
716e1f35f96SSatish Balaylinux-pkgs-valgrind:
717e1f35f96SSatish Balay  extends:
718e1f35f96SSatish Balay    - .stage-3
719e1f35f96SSatish Balay    - .linux_test
720e1f35f96SSatish Balay  tags:
7217c608d60SSatish Balay    - valgrind
722e1f35f96SSatish Balay  variables:
723e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-valgrind
724ea9ab0baSSatish Balay    TIMEOUT: 7200
725e1f35f96SSatish Balay
726e1f35f96SSatish Balaylinux-xsdk-dbg:
727e1f35f96SSatish Balay  extends:
728e1f35f96SSatish Balay    - .stage-3
729e1f35f96SSatish Balay    - .linux_test
730e1f35f96SSatish Balay  tags:
731e1f35f96SSatish Balay    - mcs-nfs
732e1f35f96SSatish Balay  variables:
733e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-xsdk-dbg
734e1f35f96SSatish Balay
73543199586SSatish Balaylinux-intel:
736e1f35f96SSatish Balay  extends:
737e1f35f96SSatish Balay    - .stage-3
738e5898789SSatish Balay    - .linux_test_noflags
739e1f35f96SSatish Balay  tags:
740e5898789SSatish Balay    - gce-nfs
741e1f35f96SSatish Balay  variables:
74243199586SSatish Balay    TEST_ARCH: arch-ci-linux-intel
743e5898789SSatish Balay    LOAD_MODULES: intel-mkl/19.5 intel/19.0
74443199586SSatish Balay
74543199586SSatish Balaylinux-intel-cmplx:
74643199586SSatish Balay  extends:
74743199586SSatish Balay    - .stage-3
748e5898789SSatish Balay    - .linux_test_noflags
74943199586SSatish Balay  tags:
750e5898789SSatish Balay    - gce-nfs
75143199586SSatish Balay  variables:
75243199586SSatish Balay    TEST_ARCH: arch-ci-linux-intel-cmplx
753e5898789SSatish Balay    LOAD_MODULES: intel-mkl/19.5 intel/19.0
754e1f35f96SSatish Balay
75506c8a052SSatish Balaylinux-nagfor:
75606c8a052SSatish Balay  extends:
75706c8a052SSatish Balay    - .stage-3
75806c8a052SSatish Balay    - .linux_test
75906c8a052SSatish Balay  tags:
76006c8a052SSatish Balay    - mcs-nfs
76106c8a052SSatish Balay  variables:
76206c8a052SSatish Balay    TEST_ARCH: arch-ci-linux-nagfor
7630798d038SSatish Balay    MAKE_FFLAGS: -DNO_WERROR_FLAG
76406c8a052SSatish Balay
765b0e5478fSScott Kruger# job for analyzing the final coverage results
766b0e5478fSScott Krugeranalyze-pipeline:
7678c8640b9SSatish Balay  extends: .test
768b0e5478fSScott Kruger  stage: .post
769b0e5478fSScott Kruger  image: jedbrown/mpich-ccache
7708c8640b9SSatish Balay  tags:
7718c8640b9SSatish Balay    - docker
7728c8640b9SSatish Balay  dependencies:
773b0e5478fSScott Kruger  variables:
774b0e5478fSScott Kruger    PYTHON: python3
775b0e5478fSScott Kruger    # Need a dummy TEST_ARCH that comes from artifacts
776b0e5478fSScott Kruger    TEST_ARCH: arch-ci-linux-pkgs-gcov
777b0e5478fSScott Kruger  allow_failure: true
778b0e5478fSScott Kruger  before_script:
779b0e5478fSScott Kruger    - date
780b0e5478fSScott Kruger  script:
781b0e5478fSScott Kruger  - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
782b0e5478fSScott Kruger#  - make mergegcov LOC=$PWD
783b0e5478fSScott Kruger  - ${PYTHON} lib/petsc/bin/maint/gcov.py --merge_gcov --loc=${PWD} --petsc_arch ${TEST_ARCH}
784b0e5478fSScott Kruger  - ls
785b0e5478fSScott Kruger  - ls arch*/*
786b0e5478fSScott Kruger  artifacts:
787b0e5478fSScott Kruger    name: "$CI_JOB_NAME"
788b0e5478fSScott Kruger    when: always
789b0e5478fSScott Kruger    paths:
790b0e5478fSScott Kruger    - i*.html
791b0e5478fSScott Kruger    - arch-*-gcov/*
792b0e5478fSScott Kruger    expire_in: 4 days
793b0e5478fSScott Kruger#
79428d80369SJed Brown#
79528d80369SJed Brown# The following tests are experimental; more tests by users at other sites may be added below this.  Experimental test
79628d80369SJed Brown# that fail produce a warning, but do not block execution of a pipeline.
79728d80369SJed Brown#
79828d80369SJed Brown
79928d80369SJed Brown.test-experimental:
80028d80369SJed Brown  extends: .test
80128d80369SJed Brown  allow_failure: true
80228d80369SJed Brown
803