xref: /petsc/.gitlab-ci.yml (revision adca0f4f2ff7527defb0187b98b3ceda46d600f1)
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
59ce4f1cd5SJed Brown    - nproc
60ce4f1cd5SJed Brown    - lscpu
61ce4f1cd5SJed Brown    - export CCACHE_COMPILERCHECK=content CCACHE_DIR=$(pwd)/.ccache
6204bc68e0SJed Brown    - ccache --show-stats
6304bc68e0SJed Brown    - ccache --zero-stats
64ce4f1cd5SJed 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
178ce4f1cd5SJed Brown    - nproc
179ce4f1cd5SJed 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
228ce4f1cd5SJed Brown    - nproc
229ce4f1cd5SJed 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
238ce4f1cd5SJed 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:
461*adca0f4fSSatish Balay    - gce-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:
595*adca0f4fSSatish Balay    - gce-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:
604*adca0f4fSSatish Balay    - gce-nfs
605e1f35f96SSatish Balay  variables:
606e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-gcc-ifc-cmplx
607*adca0f4fSSatish Balay    LOAD_MODULES: intel/19.0
608e1f35f96SSatish Balay
609e1f35f96SSatish Balaylinux-gcov:
610e1f35f96SSatish Balay  extends:
611e1f35f96SSatish Balay    - .stage-3
612e1f35f96SSatish Balay    - .linux_test
613e1f35f96SSatish Balay  tags:
614*adca0f4fSSatish Balay    - gce-nfs
615e1f35f96SSatish Balay  variables:
616e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-gcov
6179fbb52e5SScott Kruger  after_script:
6189fbb52e5SScott Kruger    - make gcov
6199fbb52e5SScott Kruger  artifacts:
6209fbb52e5SScott Kruger    when: always
6219fbb52e5SScott Kruger    paths:
6228ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
6239fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
6249fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
6259fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
626b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
6279fbb52e5SScott Kruger    expire_in: 4 days
6289fbb52e5SScott Kruger
629e1f35f96SSatish Balay
630e626c8ebSSatish Balaylinux-ILP64:
631e1f35f96SSatish Balay  extends:
632e1f35f96SSatish Balay    - .stage-3
633e1f35f96SSatish Balay    - .linux_test
634e1f35f96SSatish Balay  tags:
635e5898789SSatish Balay    - gce-nfs
636e1f35f96SSatish Balay  variables:
637e626c8ebSSatish Balay    TEST_ARCH: arch-ci-linux-ILP64
638e1f35f96SSatish Balay
639e1f35f96SSatish Balaylinux-matlab-ilp64-gcov:
640e1f35f96SSatish Balay  extends:
641e1f35f96SSatish Balay    - .stage-3
642e1f35f96SSatish Balay    - .linux_test
643e1f35f96SSatish Balay  tags:
644*adca0f4fSSatish Balay    - gce-nfs
645e1f35f96SSatish Balay  variables:
646e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-matlab-ilp64-gcov
647*adca0f4fSSatish Balay    LOAD_MODULES: matlab/R2018a
6489fbb52e5SScott Kruger  after_script:
6499fbb52e5SScott Kruger    - make gcov
6509fbb52e5SScott Kruger  artifacts:
6519fbb52e5SScott Kruger    when: always
6529fbb52e5SScott Kruger    paths:
6538ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
6549fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
6559fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
6569fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
657b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
6589fbb52e5SScott Kruger    expire_in: 4 days
6599fbb52e5SScott Kruger
660e1f35f96SSatish Balay
661e1f35f96SSatish Balaylinux-opt-cxx-quad:
662e1f35f96SSatish Balay  extends:
663e1f35f96SSatish Balay    - .stage-3
664e1f35f96SSatish Balay    - .linux_test
665e1f35f96SSatish Balay  tags:
666*adca0f4fSSatish Balay    - gce-nfs
667e1f35f96SSatish Balay  variables:
668e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-opt-cxx-quad
669e1f35f96SSatish Balay
670e1f35f96SSatish Balaylinux-pgi:
671e1f35f96SSatish Balay  extends:
672e1f35f96SSatish Balay    - .stage-3
673bb8bb6b6SSatish Balay    - .linux_test_noflags
674e1f35f96SSatish Balay  tags:
675*adca0f4fSSatish Balay    - gce-nfs, linux-fast
676e1f35f96SSatish Balay  variables:
677e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pgi
678e1f35f96SSatish Balay
679e1f35f96SSatish Balaylinux-pkgs-64idx:
680e1f35f96SSatish Balay  extends:
681e1f35f96SSatish Balay    - .stage-3
682e1f35f96SSatish Balay    - .linux_test
683e1f35f96SSatish Balay  tags:
684*adca0f4fSSatish Balay    - gce-nfs
685e1f35f96SSatish Balay  variables:
686e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-64idx
687e1f35f96SSatish Balay
688e1f35f96SSatish Balaylinux-pkgs-gcov:
689e1f35f96SSatish Balay  extends:
690e1f35f96SSatish Balay    - .stage-3
691e1f35f96SSatish Balay    - .linux_test
692e1f35f96SSatish Balay  tags:
693*adca0f4fSSatish Balay    - gce-nfs
694e1f35f96SSatish Balay  variables:
695e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-gcov
6969fbb52e5SScott Kruger  after_script:
6979fbb52e5SScott Kruger    - make gcov
6989fbb52e5SScott Kruger  artifacts:
6999fbb52e5SScott Kruger    when: always
7009fbb52e5SScott Kruger    paths:
7018ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
7029fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
7039fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
7049fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
705b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
7069fbb52e5SScott Kruger    expire_in: 4 days
707e1f35f96SSatish Balay
708e1f35f96SSatish Balaylinux-pkgs-opt:
709e1f35f96SSatish Balay  extends:
710e1f35f96SSatish Balay    - .stage-3
711e1f35f96SSatish Balay    - .linux_test
712e1f35f96SSatish Balay  tags:
713*adca0f4fSSatish Balay    - gce-nfs, linux-fast
714e1f35f96SSatish Balay  variables:
7151b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
716e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-opt
717e1f35f96SSatish Balay
718e1f35f96SSatish Balaylinux-pkgs-valgrind:
719e1f35f96SSatish Balay  extends:
720e1f35f96SSatish Balay    - .stage-3
721e1f35f96SSatish Balay    - .linux_test
722e1f35f96SSatish Balay  tags:
723*adca0f4fSSatish Balay    - gce-nfs, linux-fast
724e1f35f96SSatish Balay  variables:
725e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-valgrind
726ea9ab0baSSatish Balay    TIMEOUT: 7200
727e1f35f96SSatish Balay
728e1f35f96SSatish Balaylinux-xsdk-dbg:
729e1f35f96SSatish Balay  extends:
730e1f35f96SSatish Balay    - .stage-3
731e1f35f96SSatish Balay    - .linux_test
732e1f35f96SSatish Balay  tags:
733*adca0f4fSSatish Balay    - gce-nfs
734e1f35f96SSatish Balay  variables:
735e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-xsdk-dbg
736e1f35f96SSatish Balay
73743199586SSatish Balaylinux-intel:
738e1f35f96SSatish Balay  extends:
739e1f35f96SSatish Balay    - .stage-3
740e5898789SSatish Balay    - .linux_test_noflags
741e1f35f96SSatish Balay  tags:
742e5898789SSatish Balay    - gce-nfs
743e1f35f96SSatish Balay  variables:
74443199586SSatish Balay    TEST_ARCH: arch-ci-linux-intel
745e5898789SSatish Balay    LOAD_MODULES: intel-mkl/19.5 intel/19.0
74643199586SSatish Balay
74743199586SSatish Balaylinux-intel-cmplx:
74843199586SSatish Balay  extends:
74943199586SSatish Balay    - .stage-3
750e5898789SSatish Balay    - .linux_test_noflags
75143199586SSatish Balay  tags:
752e5898789SSatish Balay    - gce-nfs
75343199586SSatish Balay  variables:
75443199586SSatish Balay    TEST_ARCH: arch-ci-linux-intel-cmplx
755e5898789SSatish Balay    LOAD_MODULES: intel-mkl/19.5 intel/19.0
756e1f35f96SSatish Balay
75706c8a052SSatish Balaylinux-nagfor:
75806c8a052SSatish Balay  extends:
75906c8a052SSatish Balay    - .stage-3
76006c8a052SSatish Balay    - .linux_test
76106c8a052SSatish Balay  tags:
76206c8a052SSatish Balay    - mcs-nfs
76306c8a052SSatish Balay  variables:
76406c8a052SSatish Balay    TEST_ARCH: arch-ci-linux-nagfor
7650798d038SSatish Balay    MAKE_FFLAGS: -DNO_WERROR_FLAG
76606c8a052SSatish Balay
767b0e5478fSScott Kruger# job for analyzing the final coverage results
768b0e5478fSScott Krugeranalyze-pipeline:
7698c8640b9SSatish Balay  extends: .test
770b0e5478fSScott Kruger  stage: .post
771b0e5478fSScott Kruger  image: jedbrown/mpich-ccache
7728c8640b9SSatish Balay  tags:
7738c8640b9SSatish Balay    - docker
7748c8640b9SSatish Balay  dependencies:
775b0e5478fSScott Kruger  variables:
776b0e5478fSScott Kruger    PYTHON: python3
777b0e5478fSScott Kruger    # Need a dummy TEST_ARCH that comes from artifacts
778b0e5478fSScott Kruger    TEST_ARCH: arch-ci-linux-pkgs-gcov
779b0e5478fSScott Kruger  allow_failure: true
780b0e5478fSScott Kruger  before_script:
781b0e5478fSScott Kruger    - date
782b0e5478fSScott Kruger  script:
783b0e5478fSScott Kruger  - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
784b0e5478fSScott Kruger#  - make mergegcov LOC=$PWD
785b0e5478fSScott Kruger  - ${PYTHON} lib/petsc/bin/maint/gcov.py --merge_gcov --loc=${PWD} --petsc_arch ${TEST_ARCH}
786b0e5478fSScott Kruger  - ls
787b0e5478fSScott Kruger  - ls arch*/*
788b0e5478fSScott Kruger  artifacts:
789b0e5478fSScott Kruger    name: "$CI_JOB_NAME"
790b0e5478fSScott Kruger    when: always
791b0e5478fSScott Kruger    paths:
792b0e5478fSScott Kruger    - i*.html
793b0e5478fSScott Kruger    - arch-*-gcov/*
794b0e5478fSScott Kruger    expire_in: 4 days
795b0e5478fSScott Kruger#
79628d80369SJed Brown#
79728d80369SJed Brown# The following tests are experimental; more tests by users at other sites may be added below this.  Experimental test
79828d80369SJed Brown# that fail produce a warning, but do not block execution of a pipeline.
79928d80369SJed Brown#
80028d80369SJed Brown
80128d80369SJed Brown.test-experimental:
80228d80369SJed Brown  extends: .test
80328d80369SJed Brown  allow_failure: true
80428d80369SJed Brown
805