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