1# 2# stage-1 take only a few minutes and generally run on the cloud; they do not run the full test suite or external packages. 3# 4# 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 5# 6# 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 7# (not yet implemented) 8# 9# The stage-(n) tests are only started if all of the stage-(n-1) tests run without error 10# You can limit the testing by using the variable STAGE with value 1 or 2 11# 12# By default the test branch is merged to master before testing. (not yet implemented) 13# You can limite this by using the variable MERGETOMASTER with value 0 (not yet implemented) 14# 15 16stages: 17 - stage-1 18 - stage-2 19 - stage-3 20variables: 21 GIT_STRATEGY: fetch 22 GIT_CLEAN_FLAGS: -ffdxq 23 PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump 24 TIMEOUT: 1000 25 26# 27# The most basic template that most tests will expand upon. In particular merge requests and branch pushes DO NOT trigger testing 28# 29 30.test: 31 only: 32 refs: 33# Set with CI/CD Shedules - New Schedule 34 - schedules 35 - api 36# Set with CI/CD Pipelines - Run Pipeline 37 - web 38 - merge_requests 39 variables: 40 - $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train" 41 - $CI_MERGE_REQUEST_EVENT_TYPE == null 42 dependencies: [] 43 44check-ci-settings: 45 extends: .test 46 stage: .pre 47 tags: 48 - check-ci-settings 49 script: 50 - lib/petsc/bin/maint/check-ci-settings.sh 51# 52# This provides the basic order of operations and options template for cloud based stage 1 tests. 53# Not all test-short need to follow this template but most will. 54# 55 56.stage-1: 57 extends: .test 58 stage: stage-1 59 image: jedbrown/mpich-ccache 60 tags: 61 - docker 62 before_script: 63 - date 64 - nproc 65 - lscpu 66 - export CCACHE_COMPILERCHECK=content CCACHE_DIR=$(pwd)/.ccache 67 - ccache --show-stats 68 - ccache --zero-stats 69 - echo ${CONFIG_OPTS} 70 script: 71 - ${PYTHON} ./configure --with-debugging=0 COPTFLAGS='-O -march=native' CXXOPTFLAGS='-O -march=native' FOPTFLAGS='-O -march=native' ${CONFIG_OPTS} 72 - make CFLAGS=-Werror CXXFLAGS=-Werror FFLAGS=-Werror 73 - make CFLAGS=-Werror CXXFLAGS=-Werror FFLAGS=-Werror allgtests-tap search="${TEST_SEARCH}" TIMEOUT=${TIMEOUT} 74 after_script: 75 - date 76 - CCACHE_DIR=$(pwd)/.ccache ccache --show-stats 77 artifacts: 78 reports: 79 junit: arch-*/tests/testresults.xml 80 name: "$CI_JOB_NAME" 81 when: always 82 paths: 83 - arch-*/lib/petsc/conf/*.log 84 - arch-*/lib/pkgconfig/PETSc.pc 85 - arch-*/tests/testresults.xml 86 - arch-*/tests/test_*_tap.log 87 - arch-*/tests/test_*_err.log 88 expire_in: 4 days 89 cache: 90 paths: 91 - .ccache/ 92 key: "${CI_JOB_NAME}" 93 94# 95# The following tests run on the cloud as part of stage-1. 96# 97 98mpich-cxx-py3: 99 extends: .stage-1 100 variables: 101 PYTHON: python3 102 CONFIG_OPTS: --with-mpi-dir=/usr/local --with-clanguage=cxx --with-fc=0 103 TEST_SEARCH: snes_tutorials-ex48% 104 105uni-complex-float-int64: 106 extends: .stage-1 107 variables: 108 PYTHON: python3 109 CONFIG_OPTS: --with-mpi=0 --with-scalar-type=complex --with-precision=single --with-64-bit-indices 110 TEST_SEARCH: ts_tutorials-ex11_adv_2d_quad_% 111 112c99-mlib-static-py2: 113 extends: .stage-1 114 image: jedbrown/mpich-ccache:python2 115 variables: 116 PYTHON: python2 117 CONFIG_OPTS: --with-mpi-dir=/usr/local --with-single-library=0 --with-shared-libraries=0 CFLAGS=-std=c99 118 TEST_SEARCH: snes_tutorials-ex19% 119 120checksource: 121 extends: .test 122 image: jedbrown/mpich-ccache 123 stage: stage-1 124 script: 125 - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0 126 - make checkbadSource SHELL=bash 127 - make check_output SHELL=bash 128 129check-py-vermin: 130 extends: .test 131 stage: stage-1 132 tags: 133 - check-ci-settings 134 script: 135 - vermin -vv -t=2.6- -t=3.4- config 136# 137# This provides the basic order of operations and options template for stage-2,3 tests. 138# Not all stage-2,3 need to follow this template, but most will. 139# 140.stage-23: 141 extends: .test 142 script: 143 - printf "PATH:$PATH\n" 144 - printf "PETSC_OPTIONS:$PETSC_OPTIONS\n" 145 - printf "./config/examples/${TEST_ARCH}.py\n" 146 - cat ./config/examples/${TEST_ARCH}.py 147 - ./config/examples/${TEST_ARCH}.py 148 - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS} 149 - make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS} check 150 - make updatedatafiles 151 - if [ -z ${DISABLE_TESTS+x} ]; then make CFLAGS=${MAKE_CFLAGS} CXXFLAGS=${MAKE_CXXFLAGS} FFLAGS=${MAKE_FFLAGS} cleantest allgtests-tap TIMEOUT=${TIMEOUT}; fi 152 artifacts: 153 reports: 154 junit: ${TEST_ARCH}/tests/testresults.xml 155 name: "$CI_JOB_NAME" 156 when: always 157 paths: 158 - ${TEST_ARCH}/lib/petsc/conf/*.log 159 - ${TEST_ARCH}/lib/pkgconfig/PETSc.pc 160 - ${TEST_ARCH}/tests/testresults.xml 161 - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log 162 - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log 163 expire_in: 4 days 164 variables: 165 OPENBLAS_NUM_THREADS: 1 166 167.stage-2: 168 extends: .stage-23 169 stage: stage-2 170 171.stage-3: 172 extends: .stage-23 173 stage: stage-3 174 175# 176# The following provide templates for various OSes for pre/post info 177# 178 179.linux_test_noflags: 180 before_script: 181 - date 182 - hostname 183 - grep PRETTY_NAME /etc/os-release 184 - nproc 185 - lscpu 186 - ccache --zero-stats 187 - if [ ! -z ${LOAD_MODULES+x} ]; then module --trace load ${LOAD_MODULES}; module list; fi 188 after_script: 189 - date 190 - ccache --show-stats 191 192.linux_test_nofflags: 193 extends: .linux_test_noflags 194 variables: 195 MAKE_CFLAGS: -Werror 196 MAKE_CXXFLAGS: -Werror 197 198.linux_test: 199 extends: .linux_test_noflags 200 variables: 201 MAKE_CFLAGS: -Werror 202 MAKE_CXXFLAGS: -Werror 203 MAKE_FFLAGS: -Werror 204 205.freebsd_test: 206 variables: 207 MAKE_CFLAGS: -Werror 208 MAKE_CXXFLAGS: -Werror 209 MAKE_FFLAGS: -Werror 210 before_script: 211 - date 212 - hostname 213 - freebsd-version 214 - echo $(sysctl -n hw.ncpu) 215 - ccache --zero-stats 216 after_script: 217 - date 218 - ccache --show-stats 219 220.osx_test: 221 variables: 222 MAKE_CFLAGS: -Werror 223 MAKE_CXXFLAGS: -Werror 224 MAKE_FFLAGS: -Werror 225 before_script: 226 - date 227 - hostname 228 - sw_vers -productVersion 229 - echo $(sysctl -n hw.ncpu) 230 - ccache --zero-stats 231 after_script: 232 - date 233 - ccache --show-stats 234 235.opensolaris_test: 236 before_script: 237 - date 238 - hostname 239 - uname -a 240 - nproc 241 - isainfo -x 242 after_script: 243 - date 244 245.mswin_test: 246 before_script: 247 - date 248 - hostname 249 - uname -a 250 - nproc 251 after_script: 252 - date 253 254# 255# The following tests run as part of stage-2. 256# 257# The tags variable used in the tests below connects the particular test with the runners 258# listed on the left hand side of https://gitlab.com/petsc/petsc/-/settings/ci_cd. 259# For example the test linux-gcc-complex-opt any runner that has the tag 'name:pj02' 260# (in a blue box beneath it) 261# 262 263freebsd-cxx-cmplx-64idx-dbg: 264 extends: 265 - .stage-2 266 - .freebsd_test 267 tags: 268 - os:fbsd 269 variables: 270 TEST_ARCH: arch-ci-freebsd-cxx-cmplx-64idx-dbg 271 272freebsd-c-single-opt: 273 extends: 274 - .stage-2 275 - .freebsd_test 276 tags: 277 - os:fbsd 278 variables: 279 TEST_ARCH: arch-ci-freebsd-c-single-opt 280 281linux-cuda-double: 282 extends: 283 - .stage-2 284 - .linux_test 285 tags: 286 - gpu:nvidia, os:linux, name:p1 287 variables: 288 PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0 289 TEST_ARCH: arch-ci-linux-cuda-double 290 291linux-gcc-quad-64idx-dbg: 292 extends: 293 - .stage-2 294 - .linux_test 295 tags: 296 - linux-stage2 297 variables: 298 TEST_ARCH: arch-ci-linux-gcc-quad-64idx-dbg 299 300linux-gcc-pkgs-opt: 301 extends: 302 - .stage-2 303 - .linux_test 304 tags: 305 - linux-stage2 306 variables: 307 TEST_ARCH: arch-ci-linux-gcc-pkgs-opt 308 309linux-gcc-complex-opt: 310 extends: 311 - .stage-2 312 - .linux_test 313 tags: 314 - linux-stage2 315 variables: 316 TEST_ARCH: arch-ci-linux-gcc-complex-opt 317 318mswin-uni: 319 extends: 320 - .stage-2 321 - .mswin_test 322 tags: 323 - name:ps5-2 324 variables: 325 TEST_ARCH: arch-ci-mswin-uni 326 327mswin-gnu: 328 extends: 329 - .stage-2 330 - .mswin_test 331 tags: 332 - name:ps5-3 333 variables: 334 TEST_ARCH: arch-ci-mswin-gnu 335 MAKE_CFLAGS: -Werror 336 MAKE_CXXFLAGS: -Werror 337 MAKE_FFLAGS: -Werror 338 DISABLE_TESTS: 1 339 artifacts: 340 reports: 341 paths: 342 - arch-*/lib/petsc/conf/*.log 343 expire_in: 4 days 344 345# 346# The following tests run as part of stage-3. 347# 348 349freebsd-cxx-cmplx-pkgs-dbg: 350 extends: 351 - .stage-3 352 - .freebsd_test 353 tags: 354 - os:fbsd 355 variables: 356 TEST_ARCH: arch-ci-freebsd-cxx-cmplx-pkgs-dbg 357 358freebsd-cxx-pkgs-opt: 359 extends: 360 - .stage-3 361 - .freebsd_test 362 tags: 363 - os:fbsd 364 variables: 365 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 366 TEST_ARCH: arch-ci-freebsd-cxx-pkgs-opt 367 368freebsd-pkgs-opt: 369 extends: 370 - .stage-3 371 - .freebsd_test 372 tags: 373 - os:fbsd 374 variables: 375 TEST_ARCH: arch-ci-freebsd-pkgs-opt 376 377linux-viennacl: 378 extends: 379 - .stage-3 380 - .linux_test 381 tags: 382 - gpu:nvidia, os:linux, name:frog 383 variables: 384 PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0 -use_gpu_aware_mpi 0 385 TEST_ARCH: arch-ci-linux-viennacl 386 387linux-c-exodus-dbg: 388 extends: 389 - .stage-3 390 - .linux_test 391 tags: 392 - gpu:nvidia, os:linux 393 variables: 394 PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0 -use_gpu_aware_mpi 0 395 TEST_ARCH: arch-ci-linux-c-exodus-dbg 396 397linux-cuda-complex: 398 extends: 399 - .stage-3 400 - .linux_test 401 tags: 402 - gpu:nvidia, os:linux, name:p1 403 variables: 404 PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0 405 TEST_ARCH: arch-ci-linux-cuda-complex 406 407linux-cuda-double-64idx: 408 extends: 409 - .stage-3 410 - .linux_test 411 tags: 412 - gpu:nvidia, os:linux, name:p1 413 variables: 414 PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0 415 TEST_ARCH: arch-ci-linux-cuda-double-64idx 416 417linux-cuda-single-cxx: 418 extends: 419 - .stage-3 420 - .linux_test 421 tags: 422 - gpu:nvidia, os:linux 423 variables: 424 PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0 -use_gpu_aware_mpi 0 425 TEST_ARCH: arch-ci-linux-cuda-single-cxx 426 427linux-cuda-uni-pkgs: 428 extends: 429 - .stage-3 430 - .linux_test 431 tags: 432 - gpu:nvidia, os:linux, name:frog 433 variables: 434 PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -cuda_initialize 0 435 TEST_ARCH: arch-ci-linux-cuda-uni-pkgs 436 437linux-without-fc: 438 extends: 439 - .stage-3 440 - .linux_test 441 tags: 442 - name:si 443 variables: 444 TEST_ARCH: arch-ci-linux-without-fc 445 446linux-cmplx-single: 447 extends: 448 - .stage-3 449 - .linux_test 450 tags: 451 - name:si 452 variables: 453 TEST_ARCH: arch-ci-linux-cmplx-single 454 455linux-gcc-cxx-avx2: 456 extends: 457 - .stage-3 458 - .linux_test 459 tags: 460 - name:isdp001 461 variables: 462 TEST_ARCH: arch-ci-linux-gcc-cxx-avx2 463 464linux-clang-avx: 465 extends: 466 - .stage-3 467 - .linux_test 468 tags: 469 - name:isdp001 470 variables: 471 TEST_ARCH: arch-ci-linux-clang-avx 472 473linux-knl: 474 extends: 475 - .stage-3 476 - .linux_test 477 tags: 478 - name:isdp001 479 variables: 480 TEST_ARCH: arch-ci-linux-knl 481 482linux-intel-mkl-single: 483 extends: 484 - .stage-3 485 - .linux_test_noflags 486 tags: 487 - name:isdp001 488 variables: 489 TEST_ARCH: arch-ci-linux-intel-mkl-single 490 491linux-cxx-cmplx-pkgs-64idx: 492 extends: 493 - .stage-3 494 - .linux_test 495 tags: 496 - name:pj01 497 variables: 498 TEST_ARCH: arch-ci-linux-cxx-cmplx-pkgs-64idx 499 500linux-pkgs-dbg-ftn-interfaces: 501 extends: 502 - .stage-3 503 - .linux_test 504 tags: 505 - name:pj02 506 variables: 507 TEST_ARCH: arch-ci-linux-pkgs-dbg-ftn-interfaces 508 509linux-pkgs-cxx-mlib: 510 extends: 511 - .stage-3 512 - .linux_test 513 tags: 514 - name:pj02 515 variables: 516 PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent 517 TEST_ARCH: arch-ci-linux-pkgs-cxx-mlib 518 519linux-pkgs-valgrind: 520 extends: 521 - .stage-3 522 - .linux_test 523 tags: 524 - gce-nfs, linux-fast 525 variables: 526 TEST_ARCH: arch-ci-linux-pkgs-valgrind 527 TIMEOUT: 7200 528 529linux-pkgs-opt: 530 extends: 531 - .stage-3 532 - .linux_test 533 tags: 534 - gce-nfs, linux-fast 535 variables: 536 PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -saws_port_auto_select -saws_port_auto_select_silent 537 TEST_ARCH: arch-ci-linux-pkgs-opt 538 539linux-pkgs-gcov: 540 extends: 541 - .stage-3 542 - .linux_test 543 tags: 544 - gce-nfs, linux-gcov 545 variables: 546 TEST_ARCH: arch-ci-linux-pkgs-gcov 547 after_script: 548 - make gcov 549 artifacts: 550 when: always 551 paths: 552 - ${TEST_ARCH}/lib/petsc/conf/*.log 553 - ${TEST_ARCH}/tests/testresults.xml 554 - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log 555 - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log 556 - ${TEST_ARCH}/gcov.tar.gz 557 expire_in: 4 days 558 559linux-cmplx-gcov: 560 extends: 561 - .stage-3 562 - .linux_test 563 tags: 564 - gce-nfs, linux-gcov 565 variables: 566 PETSC_OPTIONS: -check_pointer_intensity 0 -error_output_stdout -nox -nox_warning -malloc_dump -vecscatter_mpi1 false -options_left false 567 TEST_ARCH: arch-ci-linux-cmplx-gcov 568 LOAD_MODULES: gcc/8.3.0-fjpc5ys 569 after_script: 570 - make gcov 571 artifacts: 572 when: always 573 paths: 574 - ${TEST_ARCH}/lib/petsc/conf/*.log 575 - ${TEST_ARCH}/tests/testresults.xml 576 - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log 577 - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log 578 - ${TEST_ARCH}/gcov.tar.gz 579 expire_in: 4 days 580 581linux-matlab-ilp64-gcov: 582 extends: 583 - .stage-3 584 - .linux_test 585 tags: 586 - gce-nfs, linux-gcov 587 variables: 588 TEST_ARCH: arch-ci-linux-matlab-ilp64-gcov 589 LOAD_MODULES: matlab/R2018a 590 after_script: 591 - make gcov 592 artifacts: 593 when: always 594 paths: 595 - ${TEST_ARCH}/lib/petsc/conf/*.log 596 - ${TEST_ARCH}/tests/testresults.xml 597 - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log 598 - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log 599 - ${TEST_ARCH}/gcov.tar.gz 600 expire_in: 4 days 601 allow_failure: true 602 603linux-gcov: 604 extends: 605 - .stage-3 606 - .linux_test 607 tags: 608 - gce-nfs, linux-gcov 609 variables: 610 TEST_ARCH: arch-ci-linux-gcov 611 after_script: 612 - make gcov 613 artifacts: 614 when: always 615 paths: 616 - ${TEST_ARCH}/lib/petsc/conf/*.log 617 - ${TEST_ARCH}/tests/testresults.xml 618 - ${TEST_ARCH}/tests/test_${TEST_ARCH}_tap.log 619 - ${TEST_ARCH}/tests/test_${TEST_ARCH}_err.log 620 - ${TEST_ARCH}/gcov.tar.gz 621 expire_in: 4 days 622 623linux-pgi: 624 extends: 625 - .stage-3 626 - .linux_test_noflags 627 tags: 628 - gce-nfs, linux-mcpu 629 variables: 630 TEST_ARCH: arch-ci-linux-pgi 631 632linux-intel-cmplx: 633 extends: 634 - .stage-3 635 - .linux_test_noflags 636 tags: 637 - gce-nfs 638 variables: 639 TEST_ARCH: arch-ci-linux-intel-cmplx 640 LOAD_MODULES: intel-mkl/19.5 intel/19.0 641 642linux-xsdk-dbg: 643 extends: 644 - .stage-3 645 - .linux_test 646 tags: 647 - gce-nfs 648 variables: 649 TEST_ARCH: arch-ci-linux-xsdk-dbg 650 LOAD_MODULES: gcc/8.3.0-fjpc5ys 651 652linux-analyzer: 653 extends: 654 - .stage-3 655 - .linux_test 656 tags: 657 - gce-nfs 658 variables: 659 TEST_ARCH: arch-ci-linux-analyzer 660 661linux-intel: 662 extends: 663 - .stage-3 664 - .linux_test_nofflags 665 tags: 666 - gce-nfs 667 variables: 668 TEST_ARCH: arch-ci-linux-intel 669 LOAD_MODULES: intel-mkl/19.5 intel/19.0 670 671linux-opt-misc: 672 extends: 673 - .stage-3 674 - .linux_test 675 tags: 676 - gce-nfs 677 variables: 678 TEST_ARCH: arch-ci-linux-opt-misc 679 LOAD_MODULES: gcc/6.5.0-57usejd 680 681linux-pkgs-64idx: 682 extends: 683 - .stage-3 684 - .linux_test 685 tags: 686 - gce-nfs 687 variables: 688 TEST_ARCH: arch-ci-linux-pkgs-64idx 689 LOAD_MODULES: cmake/3.15.5-fh74toq 690 691linux-64idx-i8: 692 extends: 693 - .stage-3 694 - .linux_test 695 tags: 696 - gce-nfs 697 variables: 698 TEST_ARCH: arch-ci-linux-64idx-i8 699 700linux-gcc-ifc-cmplx: 701 extends: 702 - .stage-3 703 - .linux_test_nofflags 704 tags: 705 - gce-nfs 706 variables: 707 TEST_ARCH: arch-ci-linux-gcc-ifc-cmplx 708 LOAD_MODULES: intel/19.0 709 710linux-nagfor: 711 extends: 712 - .stage-3 713 - .linux_test_nofflags 714 tags: 715 - mcs-nfs 716 variables: 717 TEST_ARCH: arch-ci-linux-nagfor 718 719linux-opt-cxx-quad: 720 extends: 721 - .stage-3 722 - .linux_test 723 tags: 724 - gce-nfs 725 variables: 726 TEST_ARCH: arch-ci-linux-opt-cxx-quad 727 728linux-ILP64: 729 extends: 730 - .stage-3 731 - .linux_test 732 tags: 733 - gce-nfs 734 variables: 735 TEST_ARCH: arch-ci-linux-ILP64 736 LOAD_MODULES: gcc/6.5.0-57usejd 737 738linux-64idx-i8-uni: 739 extends: 740 - .stage-3 741 - .linux_test 742 tags: 743 - gce-nfs 744 variables: 745 TEST_ARCH: arch-ci-linux-64idx-i8-uni 746 747mswin-intel-cxx-cmplx: 748 extends: 749 - .stage-3 750 - .mswin_test 751 tags: 752 - name:ps5 753 variables: 754 TEST_ARCH: arch-ci-mswin-intel-cxx-cmplx 755 756mswin-intel: 757 extends: 758 - .stage-3 759 - .mswin_test 760 tags: 761 - name:ps5 762 variables: 763 TEST_ARCH: arch-ci-mswin-intel 764 765mswin-opt-impi: 766 extends: 767 - .stage-3 768 - .mswin_test 769 tags: 770 - name:ps4 771 variables: 772 TEST_ARCH: arch-ci-mswin-opt-impi 773 allow_failure: true 774 775opensolaris-pkgs-opt: 776 extends: 777 - .stage-3 778 - .opensolaris_test 779 tags: 780 - name:n-gage 781 variables: 782 TEST_ARCH: arch-ci-opensolaris-pkgs-opt 783 784opensolaris-cmplx-pkgs-dbg: 785 extends: 786 - .stage-3 787 - .opensolaris_test 788 tags: 789 - name:n-gage 790 variables: 791 TEST_ARCH: arch-ci-opensolaris-cmplx-pkgs-dbg 792 793opensolaris-misc: 794 extends: 795 - .stage-3 796 - .opensolaris_test 797 tags: 798 - name:n-gage 799 variables: 800 TEST_ARCH: arch-ci-opensolaris-misc 801 802osx-cxx-cmplx-pkgs-dbg: 803 extends: 804 - .stage-3 805 - .osx_test 806 tags: 807 - os:macos 808 variables: 809 TEST_ARCH: arch-ci-osx-cxx-cmplx-pkgs-dbg 810 811osx-cxx-pkgs-opt: 812 extends: 813 - .stage-3 814 - .osx_test 815 tags: 816 - os:macos, opt 817 variables: 818 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 819 TEST_ARCH: arch-ci-osx-cxx-pkgs-opt 820 MAKE_CXXFLAGS: -Werror -Wno-pass-failed 821 822osx-dbg: 823 extends: 824 - .stage-3 825 - .osx_test 826 tags: 827 - os:macos 828 variables: 829 TEST_ARCH: arch-ci-osx-dbg 830 831osx-xsdk-opt: 832 extends: 833 - .stage-3 834 - .osx_test 835 tags: 836 - os:macos, opt 837 variables: 838 TEST_ARCH: arch-ci-osx-xsdk-opt 839 840# job for analyzing the final coverage results 841analyze-pipeline: 842 extends: .test 843 stage: .post 844 image: jedbrown/mpich-ccache 845 tags: 846 - docker 847 dependencies: 848 variables: 849 PYTHON: python3 850 # Need a dummy TEST_ARCH that comes from artifacts 851 TEST_ARCH: arch-ci-linux-pkgs-gcov 852 allow_failure: true 853 before_script: 854 - date 855 script: 856 - python3 ./configure --with-mpi=0 --with-fc=0 --with-cxx=0 857# - make mergegcov LOC=$PWD 858 - ${PYTHON} lib/petsc/bin/maint/gcov.py --merge_gcov --loc=${PWD} --petsc_arch ${TEST_ARCH} 859 - ls 860 - ls arch*/* 861 artifacts: 862 name: "$CI_JOB_NAME" 863 when: always 864 paths: 865 - i*.html 866 - arch-*-gcov/* 867 expire_in: 4 days 868# 869# 870# The following tests are experimental; more tests by users at other sites may be added below this. Experimental test 871# that fail produce a warning, but do not block execution of a pipeline. 872# 873 874.test-experimental: 875 extends: .test 876 allow_failure: true 877 878