xref: /petsc/.gitlab-ci.yml (revision c0dad7699552c85e6ff73b1db324999f6a6c9aa9)
128d80369SJed Brown#
29c15ed49SBarry Smith# stage-1 take only a few minutes and generally run on the cloud; they do not run the full test suite or external packages.
328d80369SJed Brown#
49c15ed49SBarry Smith# stage-2 runs on MCS systems and may take 10 to 15 minutes. They run the full test suite but with limited mixture of external packages
504df5595SBarry Smith#
69c15ed49SBarry Smith# stage-3 runs on MCS systems and may take an hour or more. They run the full test suite and heavily test external packages, utilize valgrind etc
79c15ed49SBarry Smith#         (not yet implemented)
804df5595SBarry Smith#
99c15ed49SBarry Smith# The stage-(n) tests are only started if all of the stage-(n-1) tests run without error
109c15ed49SBarry Smith#   You can limit the testing by using the variable STAGE with value 1 or 2
119c15ed49SBarry Smith#
129c15ed49SBarry Smith# By default the test branch is merged to master before testing. (not yet implemented)
139c15ed49SBarry Smith#   You can limite this by using the variable MERGETOMASTER with value 0 (not yet implemented)
1428d80369SJed Brown#
1528d80369SJed Brown
16340aff75SJed Brownstages:
179c15ed49SBarry Smith  - stage-1
189c15ed49SBarry Smith  - stage-2
199c15ed49SBarry Smith  - stage-3
20340aff75SJed Brownvariables:
21340aff75SJed Brown  GIT_STRATEGY: fetch
22c592e2e1SSatish Balay  GIT_CLEAN_FLAGS: -ffdxq
23a3e7580aSSatish Balay  PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump
24ea9ab0baSSatish Balay  TIMEOUT: 600
25340aff75SJed Brown
2628d80369SJed Brown#
279c15ed49SBarry Smith# The most basic template that most tests will expand upon. In particular merge requests and branch pushes DO NOT trigger testing
2828d80369SJed Brown#
2928d80369SJed Brown
30e74c1a09SJed Brown.test:
31410f5c6aSJed Brown  only:
320962a0d6SJed Brown    refs:
339c15ed49SBarry Smith#     Set with CI/CD Shedules - New Schedule
349c15ed49SBarry Smith      - schedules
359c15ed49SBarry Smith#     Set with CI/CD Pipelines - Run Pipeline
3642cde88bSBarry Smith      - web
379fbb52e5SScott Kruger  dependencies: []
3828d80369SJed Brown
3928d80369SJed Brown#
409c15ed49SBarry Smith#  This provides the basic order of operations and options template for cloud based stage 1 tests.
4128d80369SJed Brown#  Not all test-short need to follow this template but most will.
4228d80369SJed Brown#
4328d80369SJed Brown
449c15ed49SBarry Smith.stage-1:
4528d80369SJed Brown  extends: .test
469c15ed49SBarry Smith  stage: stage-1
4728d80369SJed Brown  image: jedbrown/mpich-ccache
488dbf1e66SSatish Balay  tags:
498dbf1e66SSatish Balay    - docker
50340aff75SJed Brown  before_script:
5144862ab0SSatish Balay    - date
52340aff75SJed Brown    - echo nproc=$(nproc)
53340aff75SJed Brown    - cat /proc/cpuinfo
54525f0e14SJed Brown    - export CCACHE_COMPILERCHECK=content
5504bc68e0SJed Brown    - export CCACHE_DIR=$(pwd)/.ccache
5604bc68e0SJed Brown    - ccache --show-stats
5704bc68e0SJed Brown    - ccache --zero-stats
58aaf6ae27SBarry Smith    - echo CONFIG_OPTS=$(CONFIG_OPTS)
59340aff75SJed Brown  script:
601c6b2e5dSSatish Balay    - ${PYTHON} ./configure --with-debugging=0 COPTFLAGS='-O -march=native' CXXOPTFLAGS='-O -march=native' FOPTFLAGS='-O -march=native' ${CONFIG_OPTS}
610798d038SSatish Balay    - make CFLAGS=-Werror CXXFLAGS=-Werror FFLAGS=-Werror
620798d038SSatish Balay    - make CFLAGS=-Werror CXXFLAGS=-Werror FFLAGS=-Werror allgtests-tap search="${TEST_SEARCH}" TIMEOUT=${TIMEOUT}
633d889285SJed Brown  after_script:
6444862ab0SSatish Balay    - date
6504bc68e0SJed Brown    - CCACHE_DIR=$(pwd)/.ccache ccache --show-stats
66e22b0966SJed Brown  artifacts:
67e22b0966SJed Brown    reports:
68e22b0966SJed Brown      junit: arch-*/tests/testresults.xml
699fbb52e5SScott Kruger    name: "$CI_JOB_NAME"
709fbb52e5SScott Kruger    when: always
719fbb52e5SScott Kruger    paths:
728ed11d4aSPatrick Sanan    - arch-*/lib/petsc/conf/*.log
739fbb52e5SScott Kruger    - arch-*/tests/testresults.xml
749fbb52e5SScott Kruger    - arch-*/tests/test_*_tap.log
759fbb52e5SScott Kruger    - arch-*/tests/test_*_err.log
769fbb52e5SScott Kruger    expire_in: 4 days
773d889285SJed Brown  cache:
783d889285SJed Brown    paths:
7904bc68e0SJed Brown      - .ccache/
803d889285SJed Brown    key: "${CI_JOB_NAME}"
81e74c1a09SJed Brown
8228d80369SJed Brown#
83815ac3f0SSatish Balay# The following tests run on the cloud as part of stage-1.
8428d80369SJed Brown#
8528d80369SJed Brown
861c6b2e5dSSatish Balaympich-cxx-py3:
879c15ed49SBarry Smith  extends: .stage-1
88e74c1a09SJed Brown  variables:
891c6b2e5dSSatish Balay    PYTHON: python3
901c6b2e5dSSatish Balay    CONFIG_OPTS: --with-mpi-dir=/usr/local --with-clanguage=cxx --with-fc=0
91e74c1a09SJed Brown    TEST_SEARCH: snes_tutorials-ex48%
92340aff75SJed Brown
93340aff75SJed Brownuni-complex-float-int64:
949c15ed49SBarry Smith  extends: .stage-1
95e74c1a09SJed Brown  variables:
961c6b2e5dSSatish Balay    PYTHON: python3
97e525aa6fSSatish Balay    CONFIG_OPTS: --with-mpi=0 --with-scalar-type=complex --with-precision=single --with-64-bit-indices
98e74c1a09SJed Brown    TEST_SEARCH: ts_tutorials-ex11_adv_2d_quad_%
99340aff75SJed Brown
1001c6b2e5dSSatish Balayc89-mlib-static-py2:
1019c15ed49SBarry Smith  extends: .stage-1
1023d889285SJed Brown  image: jedbrown/mpich-ccache:python2
1031c6b2e5dSSatish Balay  variables:
104377e4ec7SSatish Balay    PYTHON: python2
105e525aa6fSSatish Balay    CONFIG_OPTS: --with-mpi-dir=/usr/local --with-single-library=0 --with-shared-libraries=0 CFLAGS=-std=c89
106c05b70c4SSatish Balay    TEST_SEARCH: snes_tutorials-ex19%
1071c6b2e5dSSatish Balay
108689e4609SSatish Balaychecksource:
109689e4609SSatish Balay  extends: .test
110689e4609SSatish Balay  image: jedbrown/mpich-ccache
111689e4609SSatish Balay  stage: stage-1
112689e4609SSatish Balay  script:
113689e4609SSatish Balay    - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
114689e4609SSatish Balay    - make checkbadSource SHELL=bash
1155e361860SScott Kruger    - make check_output SHELL=bash
116689e4609SSatish Balay
11728d80369SJed Brown#
118815ac3f0SSatish Balay# This provides the basic order of operations and options template for stage-2,3 tests.
119815ac3f0SSatish Balay# Not all stage-2,3 need to follow this template, but most will.
12028d80369SJed Brown#
121815ac3f0SSatish Balay.stage-23:
12228d80369SJed Brown  extends: .test
12344cd3865SJed Brown  script:
1241b8cc14cSSatish Balay    - printf "PATH:$PATH\n"
1251b8cc14cSSatish Balay    - printf "PETSC_OPTIONS:$PETSC_OPTIONS\n"
126b9ee52b1SSatish Balay    - printf "./config/examples/${TEST_ARCH}.py\n"
127b9ee52b1SSatish Balay    - cat ./config/examples/${TEST_ARCH}.py
1281702e285SSatish Balay    - ./config/examples/${TEST_ARCH}.py
1290798d038SSatish Balay    - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS}
1300798d038SSatish Balay    - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS} check
131af5a22a1SSatish Balay    - make updatedatafiles
1320798d038SSatish Balay    - if [ -z ${DISABLE_TESTS+x} ]; then make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS} cleantest allgtests-tap TIMEOUT=${TIMEOUT}; fi
1338166029eSJed Brown  artifacts:
1348166029eSJed Brown    reports:
1358166029eSJed Brown      junit: ${TEST_ARCH}/tests/testresults.xml
1369fbb52e5SScott Kruger    name: "$CI_JOB_NAME"
1379fbb52e5SScott Kruger    when: always
1389fbb52e5SScott Kruger    paths:
1398ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
1409fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
1419fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
1429fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
1439fbb52e5SScott Kruger    expire_in: 4 days
144b0b73feeSBarry Smith  variables:
145b0b73feeSBarry Smith    OPENBLAS_NUM_THREADS: 1
14644cd3865SJed Brown
147815ac3f0SSatish Balay.stage-2:
148815ac3f0SSatish Balay  extends: .stage-23
149815ac3f0SSatish Balay  stage: stage-2
150815ac3f0SSatish Balay  only:
151815ac3f0SSatish Balay    variables:
152815ac3f0SSatish Balay      - $STAGE != "1"
153815ac3f0SSatish Balay      - $STAGE != "3"
154815ac3f0SSatish Balay
155815ac3f0SSatish Balay.stage-3:
156815ac3f0SSatish Balay  extends: .stage-23
157815ac3f0SSatish Balay  stage: stage-3
158815ac3f0SSatish Balay  only:
159815ac3f0SSatish Balay    variables:
160815ac3f0SSatish Balay      - $STAGE != "1"
161815ac3f0SSatish Balay      - $STAGE != "2"
162815ac3f0SSatish Balay
16328d80369SJed Brown#
164815ac3f0SSatish Balay# The following provide templates for various OSes for pre/post info
16528d80369SJed Brown#
16628d80369SJed Brown
167bb8bb6b6SSatish Balay.linux_test_noflags:
1681702e285SSatish Balay  before_script:
16944862ab0SSatish Balay    - date
1701702e285SSatish Balay    - hostname
1711702e285SSatish Balay    - grep PRETTY_NAME /etc/os-release
1721702e285SSatish Balay    - echo $(nproc)
173525f0e14SJed Brown    - ccache --zero-stats
174e5898789SSatish Balay    - if [ ! -z ${LOAD_MODULES+x} ]; then module load ${LOAD_MODULES}; module list; fi
175525f0e14SJed Brown  after_script:
17644862ab0SSatish Balay    - date
177525f0e14SJed Brown    - ccache --show-stats
1781702e285SSatish Balay
179bb8bb6b6SSatish Balay.linux_test:
180bb8bb6b6SSatish Balay  extends: .linux_test_noflags
181bb8bb6b6SSatish Balay  variables:
182bb8bb6b6SSatish Balay    MAKE_CFLAGS: -Werror
183bb8bb6b6SSatish Balay    MAKE_CXXFLAGS: -Werror
1840798d038SSatish Balay    MAKE_FFLAGS: -Werror
185bb8bb6b6SSatish Balay
186815ac3f0SSatish Balay.freebsd_test:
187bb8bb6b6SSatish Balay  variables:
188bb8bb6b6SSatish Balay    MAKE_CFLAGS: -Werror
189bb8bb6b6SSatish Balay    MAKE_CXXFLAGS: -Werror
1900798d038SSatish Balay    MAKE_FFLAGS: -Werror
1918623489dSJed Brown  before_script:
19244862ab0SSatish Balay    - date
1938623489dSJed Brown    - hostname
1941702e285SSatish Balay    - freebsd-version
1951702e285SSatish Balay    - echo $(sysctl -n hw.ncpu)
196525f0e14SJed Brown    - ccache --zero-stats
197525f0e14SJed Brown  after_script:
19844862ab0SSatish Balay    - date
199525f0e14SJed Brown    - ccache --show-stats
2001702e285SSatish Balay
201815ac3f0SSatish Balay.osx_test:
202bb8bb6b6SSatish Balay  variables:
203bb8bb6b6SSatish Balay    MAKE_CFLAGS: -Werror
204bb8bb6b6SSatish Balay    MAKE_CXXFLAGS: -Werror
2050798d038SSatish Balay    MAKE_FFLAGS: -Werror
20620099508SSatish Balay  before_script:
20744862ab0SSatish Balay    - date
20820099508SSatish Balay    - hostname
20920099508SSatish Balay    - sw_vers -productVersion
21020099508SSatish Balay    - echo $(sysctl -n hw.ncpu)
211525f0e14SJed Brown    - ccache --zero-stats
212525f0e14SJed Brown  after_script:
21344862ab0SSatish Balay    - date
214525f0e14SJed Brown    - ccache --show-stats
21520099508SSatish Balay
216815ac3f0SSatish Balay.opensolaris_test:
21720099508SSatish Balay  before_script:
21844862ab0SSatish Balay    - date
21920099508SSatish Balay    - hostname
22020099508SSatish Balay    - uname -a
22120099508SSatish Balay    - echo $(nproc)
222cc029b31SSatish Balay  after_script:
22344862ab0SSatish Balay    - date
22420099508SSatish Balay
225f99eff61SSatish Balay.mswin_test:
226f99eff61SSatish Balay  before_script:
22744862ab0SSatish Balay    - date
228f99eff61SSatish Balay    - hostname
229f99eff61SSatish Balay    - uname -a
230f99eff61SSatish Balay    - echo $(nproc)
231cc029b31SSatish Balay  after_script:
23244862ab0SSatish Balay    - date
233f99eff61SSatish Balay
234815ac3f0SSatish Balay#
235815ac3f0SSatish Balay# The following tests run as part of stage-2.
236815ac3f0SSatish Balay#
237815ac3f0SSatish Balay# The tags variable used in the tests below connects the particular test with the runners
238815ac3f0SSatish Balay# listed on the left hand side of https://gitlab.com/petsc/petsc/-/settings/ci_cd.
239815ac3f0SSatish Balay# For example the test linux-gcc-complex-opt  any runner that has the tag 'name:pj02'
240815ac3f0SSatish Balay# (in a blue box beneath it)
241815ac3f0SSatish Balay#
242f923398bSSatish Balay
2431702e285SSatish Balaylinux-gcc-complex-opt:
244815ac3f0SSatish Balay  extends:
245815ac3f0SSatish Balay    - .stage-2
246815ac3f0SSatish Balay    - .linux_test
247815ac3f0SSatish Balay  tags:
2480798d038SSatish Balay    - linux-stage2
249*c0dad769SSatish Balay    - ci:2
2501702e285SSatish Balay  variables:
2514d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-complex-opt
2521702e285SSatish Balay
2531702e285SSatish Balaylinux-gcc-pkgs-opt:
254815ac3f0SSatish Balay  extends:
255815ac3f0SSatish Balay    - .stage-2
256815ac3f0SSatish Balay    - .linux_test
257815ac3f0SSatish Balay  tags:
2580798d038SSatish Balay    - linux-stage2
2591702e285SSatish Balay  variables:
2604d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-pkgs-opt
2611702e285SSatish Balay
2621702e285SSatish Balaylinux-gcc-quad-64idx-dbg:
263815ac3f0SSatish Balay  extends:
264815ac3f0SSatish Balay    - .stage-2
265815ac3f0SSatish Balay    - .linux_test
266815ac3f0SSatish Balay  tags:
2670798d038SSatish Balay    - linux-stage2
2681702e285SSatish Balay  variables:
2694d09bf9bSSatish Balay    TEST_ARCH: arch-ci-linux-gcc-quad-64idx-dbg
2701702e285SSatish Balay
271bff34844SSatish Balaylinux-cuda-double:
272bff34844SSatish Balay  extends:
273bff34844SSatish Balay    - .stage-2
274bff34844SSatish Balay    - .linux_test
275bff34844SSatish Balay  tags:
2764e811bafSSatish Balay    - gpu:nvidia, os:linux, name:p1
277bff34844SSatish Balay  variables:
2781b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
279bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-cuda-double
280bff34844SSatish Balay
2811702e285SSatish Balayfreebsd-c-single-opt:
282815ac3f0SSatish Balay  extends:
283815ac3f0SSatish Balay    - .stage-2
284815ac3f0SSatish Balay    - .freebsd_test
285815ac3f0SSatish Balay  tags:
2868f055d49SSatish Balay    - os:fbsd
2871702e285SSatish Balay  variables:
2884d09bf9bSSatish Balay    TEST_ARCH: arch-ci-freebsd-c-single-opt
2891702e285SSatish Balay
2901702e285SSatish Balayfreebsd-cxx-cmplx-64idx-dbg:
291815ac3f0SSatish Balay  extends:
292815ac3f0SSatish Balay    - .stage-2
293815ac3f0SSatish Balay    - .freebsd_test
294815ac3f0SSatish Balay  tags:
295eec22f94SSatish Balay    - os:fbsd
2961702e285SSatish Balay  variables:
2974d09bf9bSSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-64idx-dbg
2988623489dSJed Brown
299afaeda6eSSatish Balayopensolaris-misc:
300815ac3f0SSatish Balay  extends:
30197745379SSatish Balay    - .stage-3
302815ac3f0SSatish Balay    - .opensolaris_test
303815ac3f0SSatish Balay  tags:
304815ac3f0SSatish Balay    - name:n-gage
30520099508SSatish Balay  variables:
306afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-misc
3074f89072dSBarry Smith
308815ac3f0SSatish Balayosx-cxx-pkgs-opt:
309815ac3f0SSatish Balay  extends:
31088f5c5c9SSatish Balay    - .stage-3
311815ac3f0SSatish Balay    - .osx_test
312815ac3f0SSatish Balay  tags:
313eec22f94SSatish Balay    - os:macos
314815ac3f0SSatish Balay  variables:
3151b8cc14cSSatish 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
316815ac3f0SSatish Balay    TEST_ARCH: arch-ci-osx-cxx-pkgs-opt
317815ac3f0SSatish Balay
318f99eff61SSatish Balaymswin-uni:
319f99eff61SSatish Balay  extends:
320f99eff61SSatish Balay    - .stage-2
321f99eff61SSatish Balay    - .mswin_test
322f99eff61SSatish Balay  tags:
32397745379SSatish Balay    - name:ps5-2
324f99eff61SSatish Balay  variables:
325f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-uni
326f99eff61SSatish Balay
32770881346SSatish Balaymswin-gnu:
32870881346SSatish Balay  extends:
32970881346SSatish Balay    - .stage-2
33070881346SSatish Balay    - .mswin_test
33170881346SSatish Balay  tags:
33270881346SSatish Balay    - name:ps5-3
33370881346SSatish Balay  variables:
33470881346SSatish Balay    TEST_ARCH: arch-ci-mswin-gnu
33570881346SSatish Balay    MAKE_CFLAGS: -Werror
33670881346SSatish Balay    MAKE_CXXFLAGS: -Werror
3370798d038SSatish Balay    MAKE_FFLAGS: -Werror
33870881346SSatish Balay    DISABLE_TESTS: 1
33970881346SSatish Balay  artifacts:
34070881346SSatish Balay    reports:
34170881346SSatish Balay    paths:
34270881346SSatish Balay    - arch-*/lib/petsc/conf/*.log
34370881346SSatish Balay    expire_in: 4 days
34470881346SSatish Balay
345f99eff61SSatish Balay#
346f99eff61SSatish Balay# The following tests run as part of stage-3.
347f99eff61SSatish Balay#
348f99eff61SSatish Balay
349f99eff61SSatish Balaymswin-intel-cxx-cmplx:
350f99eff61SSatish Balay  extends:
351f99eff61SSatish Balay    - .stage-3
352f99eff61SSatish Balay    - .mswin_test
353f99eff61SSatish Balay  tags:
354d4f02cf1SSatish Balay    - name:ps5
355f99eff61SSatish Balay  variables:
356f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-intel-cxx-cmplx
357f99eff61SSatish Balay
358f99eff61SSatish Balaymswin-intel:
359f99eff61SSatish Balay  extends:
360f99eff61SSatish Balay    - .stage-3
361f99eff61SSatish Balay    - .mswin_test
362f99eff61SSatish Balay  tags:
363d4f02cf1SSatish Balay    - name:ps5
364f99eff61SSatish Balay  variables:
365f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-intel
366f99eff61SSatish Balay
3677c608d60SSatish Balaymswin-opt-impi:
368f99eff61SSatish Balay  extends:
369f99eff61SSatish Balay    - .stage-3
370f99eff61SSatish Balay    - .mswin_test
371f99eff61SSatish Balay  tags:
372f99eff61SSatish Balay    - name:ps4
373f99eff61SSatish Balay  variables:
374f99eff61SSatish Balay    TEST_ARCH: arch-ci-mswin-opt-impi
375f99eff61SSatish Balay
376afaeda6eSSatish Balayopensolaris-cmplx-pkgs-dbg:
377afaeda6eSSatish Balay  extends:
378afaeda6eSSatish Balay    - .stage-3
379afaeda6eSSatish Balay    - .opensolaris_test
380afaeda6eSSatish Balay  tags:
381afaeda6eSSatish Balay    - name:n-gage
382afaeda6eSSatish Balay  variables:
383afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg
384afaeda6eSSatish Balay
385afaeda6eSSatish Balayopensolaris-pkgs-opt:
386afaeda6eSSatish Balay  extends:
387afaeda6eSSatish Balay    - .stage-3
388afaeda6eSSatish Balay    - .opensolaris_test
389afaeda6eSSatish Balay  tags:
390afaeda6eSSatish Balay    - name:n-gage
391afaeda6eSSatish Balay  variables:
392afaeda6eSSatish Balay    TEST_ARCH: arch-ci-opensolaris-pkgs-opt
3938f055d49SSatish Balay
3948f055d49SSatish Balayfreebsd-pkgs-opt:
3958f055d49SSatish Balay  extends:
3968f055d49SSatish Balay    - .stage-3
3978f055d49SSatish Balay    - .freebsd_test
3988f055d49SSatish Balay  tags:
3998f055d49SSatish Balay    - os:fbsd
4008f055d49SSatish Balay  variables:
4018f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-pkgs-opt
4028f055d49SSatish Balay
4038f055d49SSatish Balayfreebsd-cxx-cmplx-pkgs-dbg:
4048f055d49SSatish Balay  extends:
4058f055d49SSatish Balay    - .stage-3
4068f055d49SSatish Balay    - .freebsd_test
4078f055d49SSatish Balay  tags:
4088f055d49SSatish Balay    - os:fbsd
4098f055d49SSatish Balay  variables:
4108f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-cmplx-pkgs-dbg
4118f055d49SSatish Balay
4128f055d49SSatish Balayfreebsd-cxx-pkgs-opt:
4138f055d49SSatish Balay  extends:
4148f055d49SSatish Balay    - .stage-3
4158f055d49SSatish Balay    - .freebsd_test
4168f055d49SSatish Balay  tags:
4178f055d49SSatish Balay    - os:fbsd
4188f055d49SSatish Balay  variables:
4191b8cc14cSSatish 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
4208f055d49SSatish Balay    TEST_ARCH: arch-ci-freebsd-cxx-pkgs-opt
4218f055d49SSatish Balay
42281c5bd19SSatish Balayosx-cxx-cmplx-pkgs-dbg:
42381c5bd19SSatish Balay  extends:
42481c5bd19SSatish Balay    - .stage-3
42581c5bd19SSatish Balay    - .osx_test
42681c5bd19SSatish Balay  tags:
427eec22f94SSatish Balay    - os:macos
42881c5bd19SSatish Balay  variables:
42981c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-cxx-cmplx-pkgs-dbg
43081c5bd19SSatish Balay
43181c5bd19SSatish Balayosx-dbg:
43281c5bd19SSatish Balay  extends:
43381c5bd19SSatish Balay    - .stage-3
43481c5bd19SSatish Balay    - .osx_test
43581c5bd19SSatish Balay  tags:
436eec22f94SSatish Balay    - os:macos
43781c5bd19SSatish Balay  variables:
43881c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-dbg
43981c5bd19SSatish Balay
44081c5bd19SSatish Balayosx-xsdk-opt:
44181c5bd19SSatish Balay  extends:
44281c5bd19SSatish Balay    - .stage-3
44381c5bd19SSatish Balay    - .osx_test
44481c5bd19SSatish Balay  tags:
445eec22f94SSatish Balay    - os:macos
44681c5bd19SSatish Balay  variables:
44781c5bd19SSatish Balay    TEST_ARCH: arch-ci-osx-xsdk-opt
44881c5bd19SSatish Balay
449a0eee5b0SSatish Balaylinux-cmplx-gcov:
450a0eee5b0SSatish Balay  extends:
451a0eee5b0SSatish Balay    - .stage-3
452a0eee5b0SSatish Balay    - .linux_test
453a0eee5b0SSatish Balay  tags:
45423cb2c3dSSatish Balay    - mcs-nfs
455a0eee5b0SSatish Balay  variables:
4561b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -vecscatter_mpi1 false -options_left false
457a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-cmplx-gcov
4589fbb52e5SScott Kruger  after_script:
4599fbb52e5SScott Kruger    - make gcov
4609fbb52e5SScott Kruger  artifacts:
4619fbb52e5SScott Kruger    when: always
4629fbb52e5SScott Kruger    paths:
4638ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
4649fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
4659fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
4669fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
467b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
4689fbb52e5SScott Kruger    expire_in: 4 days
4699fbb52e5SScott Kruger
470a0eee5b0SSatish Balay
471a0eee5b0SSatish Balaylinux-cmplx-single:
472a0eee5b0SSatish Balay  extends:
473a0eee5b0SSatish Balay    - .stage-3
474a0eee5b0SSatish Balay    - .linux_test
475a0eee5b0SSatish Balay  tags:
476a0eee5b0SSatish Balay    - name:si
477a0eee5b0SSatish Balay  variables:
478a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-cmplx-single
479a0eee5b0SSatish Balay
480a0eee5b0SSatish Balaylinux-without-fc:
481a0eee5b0SSatish Balay  extends:
482a0eee5b0SSatish Balay    - .stage-3
483a0eee5b0SSatish Balay    - .linux_test
484a0eee5b0SSatish Balay  tags:
485a0eee5b0SSatish Balay    - name:si
486a0eee5b0SSatish Balay  variables:
487a0eee5b0SSatish Balay    TEST_ARCH: arch-ci-linux-without-fc
488a0eee5b0SSatish Balay
489c220a231SSatish Balaylinux-clang-avx:
490c220a231SSatish Balay  extends:
491c220a231SSatish Balay    - .stage-3
492c220a231SSatish Balay    - .linux_test
493c220a231SSatish Balay  tags:
494c220a231SSatish Balay    - name:isdp001
495c220a231SSatish Balay  variables:
496c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-clang-avx
497c220a231SSatish Balay
498c220a231SSatish Balaylinux-gcc-cxx-avx2:
499c220a231SSatish Balay  extends:
500c220a231SSatish Balay    - .stage-3
501c220a231SSatish Balay    - .linux_test
502c220a231SSatish Balay  tags:
503c220a231SSatish Balay    - name:isdp001
504c220a231SSatish Balay  variables:
505c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-gcc-cxx-avx2
506c220a231SSatish Balay
507c220a231SSatish Balaylinux-knl:
508c220a231SSatish Balay  extends:
509c220a231SSatish Balay    - .stage-3
510c220a231SSatish Balay    - .linux_test
511c220a231SSatish Balay  tags:
512c220a231SSatish Balay    - name:isdp001
513c220a231SSatish Balay  variables:
514c220a231SSatish Balay    TEST_ARCH: arch-ci-linux-knl
515c220a231SSatish Balay
516bff34844SSatish Balaylinux-c-exodus-dbg:
517bff34844SSatish Balay  extends:
518bff34844SSatish Balay    - .stage-3
519bff34844SSatish Balay    - .linux_test
520bff34844SSatish Balay  tags:
5212056e1b5SSatish Balay    - gpu:nvidia, os:linux
522bff34844SSatish Balay  variables:
5231b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
524bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-c-exodus-dbg
525bff34844SSatish Balay
526bff34844SSatish Balaylinux-cuda-single:
527bff34844SSatish Balay  extends:
528bff34844SSatish Balay    - .stage-3
529bff34844SSatish Balay    - .linux_test
530bff34844SSatish Balay  tags:
5312056e1b5SSatish Balay    - gpu:nvidia, os:linux
532bff34844SSatish Balay  variables:
5331b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
534bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-cuda-single
535bff34844SSatish Balay
536bff34844SSatish Balaylinux-viennacl:
537bff34844SSatish Balay  extends:
538bff34844SSatish Balay    - .stage-3
539bff34844SSatish Balay    - .linux_test
540bff34844SSatish Balay  tags:
5412056e1b5SSatish Balay    - gpu:nvidia, os:linux, name:frog
542bff34844SSatish Balay  variables:
543c68bd623SSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0
544bff34844SSatish Balay    TEST_ARCH: arch-ci-linux-viennacl
545bff34844SSatish Balay
546f8617054SSatish Balaylinux-opt-misc:
547f8617054SSatish Balay  extends:
548f8617054SSatish Balay    - .stage-3
549f8617054SSatish Balay    - .linux_test
550f8617054SSatish Balay  tags:
551e5898789SSatish Balay    - gce-nfs
552f8617054SSatish Balay  variables:
553f8617054SSatish Balay    TEST_ARCH: arch-ci-linux-opt-misc
554f8617054SSatish Balay
555f8617054SSatish Balaylinux-pkgs-cxx-mlib:
556f8617054SSatish Balay  extends:
557f8617054SSatish Balay    - .stage-3
558f8617054SSatish Balay    - .linux_test
559f8617054SSatish Balay  tags:
56023cb2c3dSSatish Balay    - name:pj02
561f8617054SSatish Balay  variables:
5621b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
563f8617054SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-cxx-mlib
564f8617054SSatish Balay
565c86e6cf2SSatish Balaylinux-cxx-cmplx-pkgs-64idx:
566c86e6cf2SSatish Balay  extends:
567c86e6cf2SSatish Balay    - .stage-3
568c86e6cf2SSatish Balay    - .linux_test
569c86e6cf2SSatish Balay  tags:
57023cb2c3dSSatish Balay    - name:pj01
571c86e6cf2SSatish Balay  variables:
572c86e6cf2SSatish Balay    TEST_ARCH: arch-ci-linux-cxx-cmplx-pkgs-64idx
573c86e6cf2SSatish Balay
574c86e6cf2SSatish Balaylinux-pkgs-dbg-ftn-interfaces:
575c86e6cf2SSatish Balay  extends:
576c86e6cf2SSatish Balay    - .stage-3
577c86e6cf2SSatish Balay    - .linux_test
578c86e6cf2SSatish Balay  tags:
57923cb2c3dSSatish Balay    - name:pj02
580c86e6cf2SSatish Balay  variables:
581c86e6cf2SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-dbg-ftn-interfaces
582c86e6cf2SSatish Balay
583e1f35f96SSatish Balaylinux-analyzer:
584e1f35f96SSatish Balay  extends:
585e1f35f96SSatish Balay    - .stage-3
586e1f35f96SSatish Balay    - .linux_test
587e1f35f96SSatish Balay  tags:
588e1f35f96SSatish Balay    - mcs-nfs
589e1f35f96SSatish Balay  variables:
590e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-analyzer
591e1f35f96SSatish Balay
592e1f35f96SSatish Balaylinux-gcc-ifc-cmplx:
593e1f35f96SSatish Balay  extends:
594e1f35f96SSatish Balay    - .stage-3
595e1f35f96SSatish Balay    - .linux_test
596e1f35f96SSatish Balay  tags:
597e1f35f96SSatish Balay    - mcs-nfs
598e1f35f96SSatish Balay  variables:
599e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-gcc-ifc-cmplx
600e1f35f96SSatish Balay
601e1f35f96SSatish Balaylinux-gcov:
602e1f35f96SSatish Balay  extends:
603e1f35f96SSatish Balay    - .stage-3
604e1f35f96SSatish Balay    - .linux_test
605e1f35f96SSatish Balay  tags:
606e1f35f96SSatish Balay    - mcs-nfs
607e1f35f96SSatish Balay  variables:
608e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-gcov
6099fbb52e5SScott Kruger  after_script:
6109fbb52e5SScott Kruger    - make gcov
6119fbb52e5SScott Kruger  artifacts:
6129fbb52e5SScott Kruger    when: always
6139fbb52e5SScott Kruger    paths:
6148ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
6159fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
6169fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
6179fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
618b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
6199fbb52e5SScott Kruger    expire_in: 4 days
6209fbb52e5SScott Kruger
621e1f35f96SSatish Balay
622e626c8ebSSatish Balaylinux-ILP64:
623e1f35f96SSatish Balay  extends:
624e1f35f96SSatish Balay    - .stage-3
625e1f35f96SSatish Balay    - .linux_test
626e1f35f96SSatish Balay  tags:
627e5898789SSatish Balay    - gce-nfs
628e1f35f96SSatish Balay  variables:
629e626c8ebSSatish Balay    TEST_ARCH: arch-ci-linux-ILP64
630e1f35f96SSatish Balay
631e1f35f96SSatish Balaylinux-matlab-ilp64-gcov:
632e1f35f96SSatish Balay  extends:
633e1f35f96SSatish Balay    - .stage-3
634e1f35f96SSatish Balay    - .linux_test
635e1f35f96SSatish Balay  tags:
636e1f35f96SSatish Balay    - mcs-nfs
637e1f35f96SSatish Balay  variables:
638e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-matlab-ilp64-gcov
6399fbb52e5SScott Kruger  after_script:
6409fbb52e5SScott Kruger    - make gcov
6419fbb52e5SScott Kruger  artifacts:
6429fbb52e5SScott Kruger    when: always
6439fbb52e5SScott Kruger    paths:
6448ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
6459fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
6469fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
6479fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
648b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
6499fbb52e5SScott Kruger    expire_in: 4 days
6509fbb52e5SScott Kruger
651e1f35f96SSatish Balay
652e1f35f96SSatish Balaylinux-opt-cxx-quad:
653e1f35f96SSatish Balay  extends:
654e1f35f96SSatish Balay    - .stage-3
655e1f35f96SSatish Balay    - .linux_test
656e1f35f96SSatish Balay  tags:
657e1f35f96SSatish Balay    - mcs-nfs
658e1f35f96SSatish Balay  variables:
659e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-opt-cxx-quad
660e1f35f96SSatish Balay
661e1f35f96SSatish Balaylinux-pgi:
662e1f35f96SSatish Balay  extends:
663e1f35f96SSatish Balay    - .stage-3
664bb8bb6b6SSatish Balay    - .linux_test_noflags
665e1f35f96SSatish Balay  tags:
66623cb2c3dSSatish Balay    - mcs-nfs,name:petsc
667e1f35f96SSatish Balay  variables:
668e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pgi
669e1f35f96SSatish Balay
670e1f35f96SSatish Balaylinux-pkgs-64idx:
671e1f35f96SSatish Balay  extends:
672e1f35f96SSatish Balay    - .stage-3
673e1f35f96SSatish Balay    - .linux_test
674e1f35f96SSatish Balay  tags:
675e1f35f96SSatish Balay    - mcs-nfs
676e1f35f96SSatish Balay  variables:
677e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-64idx
678e1f35f96SSatish Balay
679e1f35f96SSatish Balaylinux-pkgs-gcov:
680e1f35f96SSatish Balay  extends:
681e1f35f96SSatish Balay    - .stage-3
682e1f35f96SSatish Balay    - .linux_test
683e1f35f96SSatish Balay  tags:
684e1f35f96SSatish Balay    - mcs-nfs
685e1f35f96SSatish Balay  variables:
686e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-gcov
6879fbb52e5SScott Kruger  after_script:
6889fbb52e5SScott Kruger    - make gcov
6899fbb52e5SScott Kruger  artifacts:
6909fbb52e5SScott Kruger    when: always
6919fbb52e5SScott Kruger    paths:
6928ed11d4aSPatrick Sanan    - ${TEST_ARCH}/lib/petsc/conf/*.log
6939fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/testresults.xml
6949fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log
6959fbb52e5SScott Kruger    - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log
696b0e5478fSScott Kruger    - ${TEST_ARCH}/gcov.tar.gz
6979fbb52e5SScott Kruger    expire_in: 4 days
698e1f35f96SSatish Balay
699e1f35f96SSatish Balaylinux-pkgs-opt:
700e1f35f96SSatish Balay  extends:
701e1f35f96SSatish Balay    - .stage-3
702e1f35f96SSatish Balay    - .linux_test
703e1f35f96SSatish Balay  tags:
704e5898789SSatish Balay    - gce-nfs
705e1f35f96SSatish Balay  variables:
7061b8cc14cSSatish Balay    PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent
707e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-opt
708e1f35f96SSatish Balay
709e1f35f96SSatish Balaylinux-pkgs-valgrind:
710e1f35f96SSatish Balay  extends:
711e1f35f96SSatish Balay    - .stage-3
712e1f35f96SSatish Balay    - .linux_test
713e1f35f96SSatish Balay  tags:
7147c608d60SSatish Balay    - valgrind
715e1f35f96SSatish Balay  variables:
716e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-pkgs-valgrind
717ea9ab0baSSatish Balay    TIMEOUT: 7200
718e1f35f96SSatish Balay
719e1f35f96SSatish Balaylinux-xsdk-dbg:
720e1f35f96SSatish Balay  extends:
721e1f35f96SSatish Balay    - .stage-3
722e1f35f96SSatish Balay    - .linux_test
723e1f35f96SSatish Balay  tags:
724e1f35f96SSatish Balay    - mcs-nfs
725e1f35f96SSatish Balay  variables:
726e1f35f96SSatish Balay    TEST_ARCH: arch-ci-linux-xsdk-dbg
727e1f35f96SSatish Balay
72843199586SSatish Balaylinux-intel:
729e1f35f96SSatish Balay  extends:
730e1f35f96SSatish Balay    - .stage-3
731e5898789SSatish Balay    - .linux_test_noflags
732e1f35f96SSatish Balay  tags:
733e5898789SSatish Balay    - gce-nfs
734e1f35f96SSatish Balay  variables:
73543199586SSatish Balay    TEST_ARCH: arch-ci-linux-intel
736e5898789SSatish Balay    LOAD_MODULES: intel-mkl/19.5 intel/19.0
73743199586SSatish Balay
73843199586SSatish Balaylinux-intel-cmplx:
73943199586SSatish Balay  extends:
74043199586SSatish Balay    - .stage-3
741e5898789SSatish Balay    - .linux_test_noflags
74243199586SSatish Balay  tags:
743e5898789SSatish Balay    - gce-nfs
74443199586SSatish Balay  variables:
74543199586SSatish Balay    TEST_ARCH: arch-ci-linux-intel-cmplx
746e5898789SSatish Balay    LOAD_MODULES: intel-mkl/19.5 intel/19.0
747e1f35f96SSatish Balay
74806c8a052SSatish Balaylinux-nagfor:
74906c8a052SSatish Balay  extends:
75006c8a052SSatish Balay    - .stage-3
75106c8a052SSatish Balay    - .linux_test
75206c8a052SSatish Balay  tags:
75306c8a052SSatish Balay    - mcs-nfs
75406c8a052SSatish Balay  variables:
75506c8a052SSatish Balay    TEST_ARCH: arch-ci-linux-nagfor
7560798d038SSatish Balay    MAKE_FFLAGS: -DNO_WERROR_FLAG
75706c8a052SSatish Balay
758b0e5478fSScott Kruger# job for analyzing the final coverage results
759b0e5478fSScott Krugeranalyze-pipeline:
760b0e5478fSScott Kruger  stage: .post
761b0e5478fSScott Kruger  image: jedbrown/mpich-ccache
762b0e5478fSScott Kruger  variables:
763b0e5478fSScott Kruger    PYTHON: python3
764b0e5478fSScott Kruger    # Need a dummy TEST_ARCH that comes from artifacts
765b0e5478fSScott Kruger    TEST_ARCH: arch-ci-linux-pkgs-gcov
766b0e5478fSScott Kruger  only:
767b0e5478fSScott Kruger    refs:
768b0e5478fSScott Kruger#     Set with CI/CD Shedules - New Schedule
769b0e5478fSScott Kruger      - schedules
770b0e5478fSScott Kruger#     Set with CI/CD Pipelines - Run Pipeline
771b0e5478fSScott Kruger      - web
772b0e5478fSScott Kruger  allow_failure: true
773b0e5478fSScott Kruger  before_script:
774b0e5478fSScott Kruger    - date
775b0e5478fSScott Kruger  script:
776b0e5478fSScott Kruger  - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0
777b0e5478fSScott Kruger#  - make mergegcov LOC=$PWD
778b0e5478fSScott Kruger  - ${PYTHON} lib/petsc/bin/maint/gcov.py --merge_gcov --loc=${PWD} --petsc_arch ${TEST_ARCH}
779b0e5478fSScott Kruger  - ls
780b0e5478fSScott Kruger  - ls arch*/*
781b0e5478fSScott Kruger  artifacts:
782b0e5478fSScott Kruger    name: "$CI_JOB_NAME"
783b0e5478fSScott Kruger    when: always
784b0e5478fSScott Kruger    paths:
785b0e5478fSScott Kruger    - i*.html
786b0e5478fSScott Kruger    - arch-*-gcov/*
787b0e5478fSScott Kruger    expire_in: 4 days
788b0e5478fSScott Kruger#
78928d80369SJed Brown#
79028d80369SJed Brown# The following tests are experimental; more tests by users at other sites may be added below this.  Experimental test
79128d80369SJed Brown# that fail produce a warning, but do not block execution of a pipeline.
79228d80369SJed Brown#
79328d80369SJed Brown
79428d80369SJed Brown.test-experimental:
79528d80369SJed Brown  extends: .test
79628d80369SJed Brown  allow_failure: true
79728d80369SJed Brown
798