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 24340aff75SJed Brown 2528d80369SJed Brown# 269c15ed49SBarry Smith# The most basic template that most tests will expand upon. In particular merge requests and branch pushes DO NOT trigger testing 2728d80369SJed Brown# 2828d80369SJed Brown 29e74c1a09SJed Brown.test: 30410f5c6aSJed Brown only: 310962a0d6SJed Brown refs: 329c15ed49SBarry Smith# Set with CI/CD Shedules - New Schedule 339c15ed49SBarry Smith - schedules 349c15ed49SBarry Smith# Set with CI/CD Pipelines - Run Pipeline 3542cde88bSBarry Smith - web 3628d80369SJed Brown 3728d80369SJed Brown# 389c15ed49SBarry Smith# This provides the basic order of operations and options template for cloud based stage 1 tests. 3928d80369SJed Brown# Not all test-short need to follow this template but most will. 4028d80369SJed Brown# 4128d80369SJed Brown 429c15ed49SBarry Smith.stage-1: 4328d80369SJed Brown extends: .test 449c15ed49SBarry Smith stage: stage-1 4528d80369SJed Brown image: jedbrown/mpich-ccache 46340aff75SJed Brown before_script: 47340aff75SJed Brown - echo nproc=$(nproc) 48340aff75SJed Brown - cat /proc/cpuinfo 49525f0e14SJed Brown - export CCACHE_COMPILERCHECK=content 5004bc68e0SJed Brown - export CCACHE_DIR=$(pwd)/.ccache 5104bc68e0SJed Brown - ccache --show-stats 5204bc68e0SJed Brown - ccache --zero-stats 53340aff75SJed Brown script: 541c6b2e5dSSatish Balay - ${PYTHON} ./configure --with-debugging=0 COPTFLAGS='-O -march=native' CXXOPTFLAGS='-O -march=native' FOPTFLAGS='-O -march=native' ${CONFIG_OPTS} 5502e5f532SJed Brown - make CFLAGS=-Werror 5628d80369SJed Brown - make allgtests-tap search="${TEST_SEARCH}" TIMEOUT=300 573d889285SJed Brown after_script: 5804bc68e0SJed Brown - CCACHE_DIR=$(pwd)/.ccache ccache --show-stats 59e22b0966SJed Brown artifacts: 60e22b0966SJed Brown reports: 61e22b0966SJed Brown junit: arch-*/tests/testresults.xml 623d889285SJed Brown cache: 633d889285SJed Brown paths: 6404bc68e0SJed Brown - .ccache/ 653d889285SJed Brown key: "${CI_JOB_NAME}" 66e74c1a09SJed Brown 6728d80369SJed Brown# 68815ac3f0SSatish Balay# The following tests run on the cloud as part of stage-1. 6928d80369SJed Brown# 7028d80369SJed Brown 711c6b2e5dSSatish Balaympich-cxx-py3: 729c15ed49SBarry Smith extends: .stage-1 73e74c1a09SJed Brown variables: 741c6b2e5dSSatish Balay PYTHON: python3 751c6b2e5dSSatish Balay CONFIG_OPTS: --with-mpi-dir=/usr/local --with-clanguage=cxx --with-fc=0 76e74c1a09SJed Brown TEST_SEARCH: snes_tutorials-ex48% 77340aff75SJed Brown 78340aff75SJed Brownuni-complex-float-int64: 799c15ed49SBarry Smith extends: .stage-1 80e74c1a09SJed Brown variables: 811c6b2e5dSSatish Balay PYTHON: python3 82e74c1a09SJed Brown CONFIG_OPTS: < 83e74c1a09SJed Brown --with-mpi=0 84340aff75SJed Brown --with-scalar-type=complex --with-precision=single --with-64-bit-indices 85e74c1a09SJed Brown TEST_SEARCH: ts_tutorials-ex11_adv_2d_quad_% 86340aff75SJed Brown 871c6b2e5dSSatish Balayc89-mlib-static-py2: 889c15ed49SBarry Smith extends: .stage-1 893d889285SJed Brown image: jedbrown/mpich-ccache:python2 901c6b2e5dSSatish Balay variables: 91377e4ec7SSatish Balay PYTHON: python2 921c6b2e5dSSatish Balay CONFIG_OPTS: < 931c6b2e5dSSatish Balay --with-mpi-dir=/usr/local 941c6b2e5dSSatish Balay --with-single-library=0 --with-shared-libraries=0 'CFLAGS=-std=c89 -pedantic -Wno-long-long -Wno-overlength-strings' 951c6b2e5dSSatish Balay TEST_SEARCH: snes_tutorials-ex48% 961c6b2e5dSSatish Balay 97689e4609SSatish Balaychecksource: 98689e4609SSatish Balay extends: .test 99689e4609SSatish Balay image: jedbrown/mpich-ccache 100689e4609SSatish Balay stage: stage-1 101689e4609SSatish Balay script: 102689e4609SSatish Balay - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0 103689e4609SSatish Balay - make checkbadSource SHELL=bash 104689e4609SSatish Balay 10528d80369SJed Brown# 106815ac3f0SSatish Balay# This provides the basic order of operations and options template for stage-2,3 tests. 107815ac3f0SSatish Balay# Not all stage-2,3 need to follow this template, but most will. 10828d80369SJed Brown# 109815ac3f0SSatish Balay.stage-23: 11028d80369SJed Brown extends: .test 11144cd3865SJed Brown script: 112b9ee52b1SSatish Balay - printf "$PATH\n" 113b9ee52b1SSatish Balay - printf "./config/examples/${TEST_ARCH}.py\n" 114b9ee52b1SSatish Balay - cat ./config/examples/${TEST_ARCH}.py 1151702e285SSatish Balay - ./config/examples/${TEST_ARCH}.py 11644cd3865SJed Brown - make 11744cd3865SJed Brown - make check 1181702e285SSatish Balay - make cleantest allgtests-tap TIMEOUT=300 1198166029eSJed Brown artifacts: 1208166029eSJed Brown reports: 1218166029eSJed Brown junit: ${TEST_ARCH}/tests/testresults.xml 12244cd3865SJed Brown 123815ac3f0SSatish Balay.stage-2: 124815ac3f0SSatish Balay extends: .stage-23 125815ac3f0SSatish Balay stage: stage-2 126815ac3f0SSatish Balay only: 127815ac3f0SSatish Balay variables: 128815ac3f0SSatish Balay - $STAGE != "1" 129815ac3f0SSatish Balay - $STAGE != "3" 130815ac3f0SSatish Balay 131815ac3f0SSatish Balay.stage-3: 132815ac3f0SSatish Balay extends: .stage-23 133815ac3f0SSatish Balay stage: stage-3 134815ac3f0SSatish Balay only: 135815ac3f0SSatish Balay variables: 136815ac3f0SSatish Balay - $STAGE != "1" 137815ac3f0SSatish Balay - $STAGE != "2" 138815ac3f0SSatish Balay 13928d80369SJed Brown# 140815ac3f0SSatish Balay# The following provide templates for various OSes for pre/post info 14128d80369SJed Brown# 14228d80369SJed Brown 143815ac3f0SSatish Balay.linux_test: 1441702e285SSatish Balay before_script: 1451702e285SSatish Balay - hostname 1461702e285SSatish Balay - grep PRETTY_NAME /etc/os-release 1471702e285SSatish Balay - echo $(nproc) 148525f0e14SJed Brown - ccache --zero-stats 149525f0e14SJed Brown after_script: 150525f0e14SJed Brown - ccache --show-stats 1511702e285SSatish Balay 152815ac3f0SSatish Balay.freebsd_test: 1538623489dSJed Brown before_script: 1548623489dSJed Brown - hostname 1551702e285SSatish Balay - freebsd-version 1561702e285SSatish Balay - echo $(sysctl -n hw.ncpu) 157525f0e14SJed Brown - ccache --zero-stats 158525f0e14SJed Brown after_script: 159525f0e14SJed Brown - ccache --show-stats 1601702e285SSatish Balay 161815ac3f0SSatish Balay.osx_test: 16220099508SSatish Balay before_script: 16320099508SSatish Balay - hostname 16420099508SSatish Balay - sw_vers -productVersion 16520099508SSatish Balay - echo $(sysctl -n hw.ncpu) 166525f0e14SJed Brown - ccache --zero-stats 167525f0e14SJed Brown after_script: 168525f0e14SJed Brown - ccache --show-stats 16920099508SSatish Balay 170815ac3f0SSatish Balay.opensolaris_test: 17120099508SSatish Balay before_script: 17220099508SSatish Balay - hostname 17320099508SSatish Balay - uname -a 17420099508SSatish Balay - echo $(nproc) 17520099508SSatish Balay 176f99eff61SSatish Balay.mswin_test: 177f99eff61SSatish Balay before_script: 178f99eff61SSatish Balay - hostname 179f99eff61SSatish Balay - uname -a 180f99eff61SSatish Balay - echo $(nproc) 181f99eff61SSatish Balay 182815ac3f0SSatish Balay# 183815ac3f0SSatish Balay# The following tests run as part of stage-2. 184815ac3f0SSatish Balay# 185815ac3f0SSatish Balay# The tags variable used in the tests below connects the particular test with the runners 186815ac3f0SSatish Balay# listed on the left hand side of https://gitlab.com/petsc/petsc/-/settings/ci_cd. 187815ac3f0SSatish Balay# For example the test linux-gcc-complex-opt any runner that has the tag 'name:pj02' 188815ac3f0SSatish Balay# (in a blue box beneath it) 189815ac3f0SSatish Balay# 190f923398bSSatish Balay 1911702e285SSatish Balaylinux-gcc-complex-opt: 192815ac3f0SSatish Balay extends: 193815ac3f0SSatish Balay - .stage-2 194815ac3f0SSatish Balay - .linux_test 195815ac3f0SSatish Balay tags: 196815ac3f0SSatish Balay - name:pj02 1971702e285SSatish Balay variables: 1984d09bf9bSSatish Balay TEST_ARCH: arch-ci-linux-gcc-complex-opt 1991702e285SSatish Balay 2001702e285SSatish Balaylinux-gcc-pkgs-opt: 201815ac3f0SSatish Balay extends: 202815ac3f0SSatish Balay - .stage-2 203815ac3f0SSatish Balay - .linux_test 204815ac3f0SSatish Balay tags: 205815ac3f0SSatish Balay - name:pj02 2061702e285SSatish Balay variables: 2074d09bf9bSSatish Balay TEST_ARCH: arch-ci-linux-gcc-pkgs-opt 2081702e285SSatish Balay 2091702e285SSatish Balaylinux-gcc-quad-64idx-dbg: 210815ac3f0SSatish Balay extends: 211815ac3f0SSatish Balay - .stage-2 212815ac3f0SSatish Balay - .linux_test 213815ac3f0SSatish Balay tags: 214815ac3f0SSatish Balay - name:pj02 2151702e285SSatish Balay variables: 2164d09bf9bSSatish Balay TEST_ARCH: arch-ci-linux-gcc-quad-64idx-dbg 2171702e285SSatish Balay 2181702e285SSatish Balayfreebsd-c-single-opt: 219815ac3f0SSatish Balay extends: 220815ac3f0SSatish Balay - .stage-2 221815ac3f0SSatish Balay - .freebsd_test 222815ac3f0SSatish Balay tags: 2238f055d49SSatish Balay - os:fbsd 2241702e285SSatish Balay variables: 2254d09bf9bSSatish Balay TEST_ARCH: arch-ci-freebsd-c-single-opt 2261702e285SSatish Balay 2271702e285SSatish Balayfreebsd-cxx-cmplx-64idx-dbg: 228815ac3f0SSatish Balay extends: 229815ac3f0SSatish Balay - .stage-2 230815ac3f0SSatish Balay - .freebsd_test 231815ac3f0SSatish Balay tags: 232815ac3f0SSatish Balay - name:petsc-fbsd 2331702e285SSatish Balay variables: 2344d09bf9bSSatish Balay TEST_ARCH: arch-ci-freebsd-cxx-cmplx-64idx-dbg 2358623489dSJed Brown 236afaeda6eSSatish Balayopensolaris-misc: 237815ac3f0SSatish Balay extends: 238815ac3f0SSatish Balay - .stage-2 239815ac3f0SSatish Balay - .opensolaris_test 240815ac3f0SSatish Balay tags: 241815ac3f0SSatish Balay - name:n-gage 24220099508SSatish Balay variables: 243afaeda6eSSatish Balay TEST_ARCH: arch-ci-opensolaris-misc 2444f89072dSBarry Smith 245815ac3f0SSatish Balayosx-cxx-pkgs-opt: 246815ac3f0SSatish Balay extends: 247815ac3f0SSatish Balay - .stage-2 248815ac3f0SSatish Balay - .osx_test 249815ac3f0SSatish Balay tags: 250815ac3f0SSatish Balay - name:jpro 251815ac3f0SSatish Balay variables: 252815ac3f0SSatish Balay PETSC_OPTIONS: < 253815ac3f0SSatish Balay -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump 254815ac3f0SSatish Balay -saws_port_auto_select -saws_port_auto_select_silent -vecscatter_mpi1 false -options_left false 255815ac3f0SSatish Balay TEST_ARCH: arch-ci-osx-cxx-pkgs-opt 256815ac3f0SSatish Balay 257f923398bSSatish Balayosx-barry: 258815ac3f0SSatish Balay extends: 259815ac3f0SSatish Balay - .stage-2 260815ac3f0SSatish Balay - .osx_test 261f923398bSSatish Balay tags: 262f923398bSSatish Balay - os:osx 263f923398bSSatish Balay variables: 264f923398bSSatish Balay TEST_ARCH: arch-ci-osx-prefix 265f923398bSSatish Balay 266f99eff61SSatish Balaymswin-uni: 267f99eff61SSatish Balay extends: 268f99eff61SSatish Balay - .stage-2 269f99eff61SSatish Balay - .mswin_test 270f99eff61SSatish Balay tags: 271f99eff61SSatish Balay - name:ps4 272f99eff61SSatish Balay variables: 273f99eff61SSatish Balay TEST_ARCH: arch-ci-mswin-uni 274f99eff61SSatish Balay 275f99eff61SSatish Balay# 276f99eff61SSatish Balay# The following tests run as part of stage-3. 277f99eff61SSatish Balay# 278f99eff61SSatish Balay 279f99eff61SSatish Balaymswin-intel-cxx-cmplx: 280f99eff61SSatish Balay extends: 281f99eff61SSatish Balay - .stage-3 282f99eff61SSatish Balay - .mswin_test 283f99eff61SSatish Balay tags: 284f99eff61SSatish Balay - name:ps4 285f99eff61SSatish Balay variables: 286f99eff61SSatish Balay TEST_ARCH: arch-ci-mswin-intel-cxx-cmplx 287f99eff61SSatish Balay 288f99eff61SSatish Balaymswin-intel: 289f99eff61SSatish Balay extends: 290f99eff61SSatish Balay - .stage-3 291f99eff61SSatish Balay - .mswin_test 292f99eff61SSatish Balay tags: 293f99eff61SSatish Balay - name:ps4 294f99eff61SSatish Balay variables: 295f99eff61SSatish Balay TEST_ARCH: arch-ci-mswin-intel 296f99eff61SSatish Balay 297f99eff61SSatish Balayarch-ci-mswin-opt-impi: 298f99eff61SSatish Balay extends: 299f99eff61SSatish Balay - .stage-3 300f99eff61SSatish Balay - .mswin_test 301f99eff61SSatish Balay tags: 302f99eff61SSatish Balay - name:ps4 303f99eff61SSatish Balay variables: 304f99eff61SSatish Balay TEST_ARCH: arch-ci-mswin-opt-impi 305f99eff61SSatish Balay 306f99eff61SSatish Balay 307afaeda6eSSatish Balayopensolaris-cmplx-pkgs-dbg: 308afaeda6eSSatish Balay extends: 309afaeda6eSSatish Balay - .stage-3 310afaeda6eSSatish Balay - .opensolaris_test 311afaeda6eSSatish Balay tags: 312afaeda6eSSatish Balay - name:n-gage 313afaeda6eSSatish Balay variables: 314afaeda6eSSatish Balay TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg 315afaeda6eSSatish Balay 316afaeda6eSSatish Balayopensolaris-pkgs-opt: 317afaeda6eSSatish Balay extends: 318afaeda6eSSatish Balay - .stage-3 319afaeda6eSSatish Balay - .opensolaris_test 320afaeda6eSSatish Balay tags: 321afaeda6eSSatish Balay - name:n-gage 322afaeda6eSSatish Balay variables: 323afaeda6eSSatish Balay TEST_ARCH: arch-ci-opensolaris-pkgs-opt 3248f055d49SSatish Balay 3258f055d49SSatish Balayfreebsd-pkgs-opt: 3268f055d49SSatish Balay extends: 3278f055d49SSatish Balay - .stage-3 3288f055d49SSatish Balay - .freebsd_test 3298f055d49SSatish Balay tags: 3308f055d49SSatish Balay - os:fbsd 3318f055d49SSatish Balay variables: 3328f055d49SSatish Balay TEST_ARCH: arch-ci-freebsd-pkgs-opt 3338f055d49SSatish Balay 3348f055d49SSatish Balayfreebsd-cxx-cmplx-pkgs-dbg: 3358f055d49SSatish Balay extends: 3368f055d49SSatish Balay - .stage-3 3378f055d49SSatish Balay - .freebsd_test 3388f055d49SSatish Balay tags: 3398f055d49SSatish Balay - os:fbsd 3408f055d49SSatish Balay variables: 3418f055d49SSatish Balay TEST_ARCH: arch-ci-freebsd-cxx-cmplx-pkgs-dbg 3428f055d49SSatish Balay 3438f055d49SSatish Balayfreebsd-cxx-pkgs-opt: 3448f055d49SSatish Balay extends: 3458f055d49SSatish Balay - .stage-3 3468f055d49SSatish Balay - .freebsd_test 3478f055d49SSatish Balay tags: 3488f055d49SSatish Balay - os:fbsd 3498f055d49SSatish Balay variables: 3508f055d49SSatish Balay PETSC_OPTIONS: < 3518f055d49SSatish Balay -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump 3528f055d49SSatish Balay -saws_port_auto_select -saws_port_auto_select_silent -vecscatter_mpi1 false -options_left false 3538f055d49SSatish Balay variables: 3548f055d49SSatish Balay TEST_ARCH: arch-ci-freebsd-cxx-pkgs-opt 3558f055d49SSatish Balay 35681c5bd19SSatish Balayosx-cxx-cmplx-pkgs-dbg: 35781c5bd19SSatish Balay extends: 35881c5bd19SSatish Balay - .stage-3 35981c5bd19SSatish Balay - .osx_test 36081c5bd19SSatish Balay tags: 36181c5bd19SSatish Balay - os:osx,name:jpro 36281c5bd19SSatish Balay variables: 36381c5bd19SSatish Balay TEST_ARCH: arch-ci-osx-cxx-cmplx-pkgs-dbg 36481c5bd19SSatish Balay 36581c5bd19SSatish Balayosx-dbg: 36681c5bd19SSatish Balay extends: 36781c5bd19SSatish Balay - .stage-3 36881c5bd19SSatish Balay - .osx_test 36981c5bd19SSatish Balay tags: 37081c5bd19SSatish Balay - os:osx 37181c5bd19SSatish Balay variables: 37281c5bd19SSatish Balay TEST_ARCH: arch-ci-osx-dbg 37381c5bd19SSatish Balay 37481c5bd19SSatish Balayosx-xsdk-opt: 37581c5bd19SSatish Balay extends: 37681c5bd19SSatish Balay - .stage-3 37781c5bd19SSatish Balay - .osx_test 37881c5bd19SSatish Balay tags: 37981c5bd19SSatish Balay - os:osx 38081c5bd19SSatish Balay variables: 38181c5bd19SSatish Balay TEST_ARCH: arch-ci-osx-xsdk-opt 38281c5bd19SSatish Balay 383*a0eee5b0SSatish Balaylinux-cmplx-gcov: 384*a0eee5b0SSatish Balay extends: 385*a0eee5b0SSatish Balay - .stage-3 386*a0eee5b0SSatish Balay - .linux_test 387*a0eee5b0SSatish Balay tags: 388*a0eee5b0SSatish Balay - name:si 389*a0eee5b0SSatish Balay variables: 390*a0eee5b0SSatish Balay PETSC_OPTIONS: < 391*a0eee5b0SSatish Balay -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump 392*a0eee5b0SSatish Balay -vecscatter_mpi1 false -options_left false 393*a0eee5b0SSatish Balay TEST_ARCH: arch-ci-linux-cmplx-gcov 394*a0eee5b0SSatish Balay 395*a0eee5b0SSatish Balaylinux-cmplx-single: 396*a0eee5b0SSatish Balay extends: 397*a0eee5b0SSatish Balay - .stage-3 398*a0eee5b0SSatish Balay - .linux_test 399*a0eee5b0SSatish Balay tags: 400*a0eee5b0SSatish Balay - name:si 401*a0eee5b0SSatish Balay variables: 402*a0eee5b0SSatish Balay TEST_ARCH: arch-ci-linux-cmplx-single 403*a0eee5b0SSatish Balay 404*a0eee5b0SSatish Balaylinux-without-fc: 405*a0eee5b0SSatish Balay extends: 406*a0eee5b0SSatish Balay - .stage-3 407*a0eee5b0SSatish Balay - .linux_test 408*a0eee5b0SSatish Balay tags: 409*a0eee5b0SSatish Balay - name:si 410*a0eee5b0SSatish Balay variables: 411*a0eee5b0SSatish Balay TEST_ARCH: arch-ci-linux-without-fc 412*a0eee5b0SSatish Balay 41328d80369SJed Brown# 41428d80369SJed Brown# The following tests are experimental; more tests by users at other sites may be added below this. Experimental test 41528d80369SJed Brown# that fail produce a warning, but do not block execution of a pipeline. 41628d80369SJed Brown# 41728d80369SJed Brown 41828d80369SJed Brown.test-experimental: 41928d80369SJed Brown extends: .test 42028d80369SJed Brown allow_failure: true 42128d80369SJed Brown 422