1##################################################### 2# Drivers Nightly Tests # 3##################################################### 4 5### Instructions for Adding a Driver ### 6# The Major sections are: 7 8# VARIABLES 9# FUNCTIONS (MongoDB and Drivers) 10# TASKS (MongoDB and Drivers) 11# AXES (Drivers) 12# MODULES (MongoDB and Drivers) 13# BUILDVARIANTS (MongoDB and Drivers) 14 15# The Major sections of this config file have a space that handles the Mongodb setup, compile and test. 16# And a section that handles the same for drivers after MongoDB and compiled, tested, and pushed. 17 18# To Add a Driver: 19 20# Add your repo to the MODULES section 21# Add your Driver-specific AXES and variables 22# Add your Driver-specific Matrix at the bottom of this file 23# Update the Driver-specific variables in the 'run driver tests' function if needed 24 25stepback: true 26command_type: system 27 28# Files that match an ignore-list pattern will not trigger a build, if they're the only modified 29# files in the patch. 30ignore: 31 - ".*" 32 - "!.clang-format" 33 - "!.eslintrc.yml" 34 - "*.md" 35 - "*.rst" 36 - "*.txt" 37 - "/distsrc/**" 38 - "/docs/**" 39 - "/etc/*.yml" 40 - "!/etc/drivers_nightly.yml" 41 - "README" 42 43####################################### 44# VARIABLES # 45####################################### 46variables: 47 48# Used when the tests it runs depend only on mongod, mongos, the mongo shell and the tools. 49- &task_template 50 name: template 51 depends_on: 52 - name: compile 53 commands: 54 - func: "do setup" 55 - func: "run mongo tests" 56 vars: 57 resmoke_args: --help 58 run_multiple_jobs: false 59 max_jobs: 0 # If set in combination with run_multiple_jobs, will cap the number of jobs used. 60 61# Used to list modules to retrieve from GitHub and apply patches if necessary. 62- &git_get_project 63 command: git.get_project 64 params: 65 directory: src 66 revisions: # for each module include revision as <module_name> : ${<module_name>_rev} 67 enterprise: ${enterprise_rev} 68 mongo-java-driver: ${mongo-java-driver_rev} 69 mongo-python-driver: ${mongo-python-driver_rev} 70 drivers-evergreen-tools: ${drivers-evergreen-tools_rev} 71 72- &generate_compile_expansions 73 command: shell.exec 74 params: 75 working_dir: src 76 script: | 77 set -o errexit 78 set -o verbose 79 80 # We get the raw version string (r1.2.3-45-gabcdef) from git 81 MONGO_VERSION=$(git describe) 82 # If this is a patch build, we add the patch version id to the version string so we know 83 # this build was a patch, and which evergreen task it came from 84 if [ "${is_patch|}" = "true" ]; then 85 MONGO_VERSION="$MONGO_VERSION-patch-${version_id}" 86 fi 87 88 # This script converts the generated version string into a sanitized version string for 89 # use by scons and uploading artifacts as well as information about for the scons cache. 90 MONGO_VERSION=$MONGO_VERSION SCONS_CACHE_MODE=${scons_cache_mode|nolinked} USE_SCONS_CACHE=${use_scons_cache|false} ${python|/opt/mongodbtoolchain/v2/bin/python2} buildscripts/generate_compile_expansions.py --out compile_expansions.yml 91 92- &apply_compile_expansions 93 command: expansions.update 94 params: 95 file: src/compile_expansions.yml 96 97####################################### 98# FUNCTIONS # 99####################################### 100 101### MONGODB COMPILE & TEST FUNCTIONS ### 102 103functions: 104 105 "fetch and extract binaries" : &fetch_extract_binaries 106 command: shell.exec 107 params: 108 working_dir: src 109 script: | 110 set -o errexit 111 set -o verbose 112 113 curl -s https://s3.amazonaws.com/mciuploads/drivers-nightly/${platform}/${revision}/binaries/mongo-${revision}.${ext} --output mongodb-binaries.${ext} 114 # When we call git_get_project and check out our source code, it creates a directory called 'mongo', 115 # this isn't needed and interferes with our shell binary 'mongo' when we try to copy it. 116 # To prevent this, we just remove the 'mongo' directory first, then we do our copy. 117 mv mongo mongo-old || true 118 ${decompress} mongodb-binaries.${ext|tgz} 119 chmod +x mongodb*/bin/* 120 mv mongodb*/bin/* . 121 122 "get buildnumber" : &get_buildnumber 123 command: keyval.inc 124 params: 125 key: "v3.6" 126 destination: "builder_num" 127 128 "setup credentials" : &setup_credentials 129 command: shell.exec 130 params: 131 working_dir: src 132 silent: true 133 script: | 134 cat > mci.buildlogger <<END_OF_CREDS 135 slavename='${slave}' 136 passwd='${passwd}' 137 builder='MCI_${build_variant}' 138 build_num=${builder_num} 139 build_phase='${task_name}_${execution}' 140 END_OF_CREDS 141 142 "do setup" : 143 - *git_get_project 144 - *fetch_extract_binaries 145 - *get_buildnumber 146 - *setup_credentials 147 148 149 ### FOR MONGODB TESTS ### 150 "set up virtualenv" : 151 command: shell.exec 152 type: test 153 params: 154 working_dir: src 155 script: | 156 # exit immediately if virtualenv is not found 157 set -o errexit 158 set -o verbose 159 160 virtualenv --system-site-packages ./venv 161 162 "run mongo tests" : 163 command: shell.exec 164 type: test 165 params: 166 working_dir: src 167 script: | 168 set -o errexit 169 set -o verbose 170 171 # check if virtualenv is set up 172 if [ -d "venv" ]; then 173 if [ "Windows_NT" = "$OS" ]; then 174 . ./venv/Scripts/activate 175 else 176 . ./venv/bin/activate 177 fi 178 fi 179 180 extra_args="" 181 processor_architecture=$(uname -m) 182 num_jobs_available=${num_jobs_available|1} 183 184 if [ ${max_jobs|0} -gt 0 ] && [ ${max_jobs|0} -lt $num_jobs_available ]; then 185 extra_args="$extra_args --jobs=${max_jobs}" 186 else 187 extra_args="$extra_args --jobs=$num_jobs_available" 188 fi 189 190 ${python|/opt/mongodbtoolchain/v2/bin/python2} buildscripts/resmoke.py ${resmoke_args} $extra_args ${test_flags} --log=buildlogger --reportFile=report.json 191 192 "cleanup environment" : 193 command: shell.exec 194 params: 195 script: | 196 set -o errexit 197 set -o verbose 198 199 rm -rf src /data/db/* mongo-diskstats* mongo-coredumps.tgz ~/.aws 200 pkill -9 orchest 201 202 ### DRIVERS FUNCTIONS ### 203 204 "bootstrap mongo-orchestration": 205 - command: shell.exec 206 params: 207 script: | 208 ${PREPARE_SHELL} 209 echo "{ \"releases\": { \"default\": \"$MONGODB_BINARIES\" }}" > $MONGO_ORCHESTRATION_HOME/orchestration.config 210 MONGODB_VERSION="nightly" MONGODB_DOWNLOAD_URL=${MONGODB_DOWNLOAD_URL} TOPOLOGY=${TOPOLOGY} AUTH=${AUTH} SSL=${SSL} sh ${DRIVERS_TOOLS}/.evergreen/run-orchestration.sh 211 # run-orchestration generates expansion file with the MONGODB_URI for the cluster 212 - command: expansions.update 213 params: 214 file: mo-expansion.yml 215 216 "run driver tests": 217 - command: shell.exec 218 type: test 219 params: 220 working_dir: "src" 221 script: | 222 cd ${DRIVER_WORKING_DIRECTORY} 223 ${PREPARE_SHELL} 224 echo $DRIVERS_TOOLS 225 echo $MONGO_ORCHESTRATION_HOME 226 echo $MONGODB_BINARIES 227 echo $UPLOAD_BUCKET 228 echo $PROJECT_DIRECTORY 229 230 echo $TMPDIR 231 echo $PATH 232 echo $PROJECT 233 234 # If there are extra dependencies, we set them up here first 235 file="${PROJECT_DIRECTORY}/.evergreen/install-dependencies.sh" 236 # Don't use ${file} syntax here because evergreen treats it as an empty expansion. 237 [ -f "$file" ] && sh $file || echo "$file not available, skipping" 238 239 ### DRIVER-SPECIFIC VARIABLES HERE 240 PYTHON_BINARY="${PYTHON_BINARY}" \ 241 JDK="${JDK}" \ 242 AUTH="${AUTH}" SSL="${SSL}" MONGODB_URI="${MONGODB_URI}" TOPOLOGY="${TOPOLOGY}" .evergreen/run-tests.sh 243 244 "fix absolute paths": 245 - command: shell.exec 246 params: 247 script: | 248 ${PREPARE_SHELL} 249 for filename in $(find ${DRIVERS_TOOLS} -name \*.json); do 250 perl -p -i -e "s|ABSOLUTE_PATH_REPLACEMENT_TOKEN|${DRIVERS_TOOLS}|g" $filename 251 done 252 253 "windows fix": 254 - command: shell.exec 255 params: 256 script: | 257 # Make sure we are on Windows, otherwise don't run 258 if [ "Windows_NT" == "$OS" ]; then # Magic variable in cygwin 259 ${PREPARE_SHELL} 260 for i in $(find ${DRIVERS_TOOLS}/.evergreen ${PROJECT_DIRECTORY}/.evergreen -name \*.sh); do 261 cat $i | tr -d '\r' > $i.new 262 mv $i.new $i 263 done 264 # Copy client certificate because symlinks do not work on Windows. 265 cp ${DRIVERS_TOOLS}/.evergreen/x509gen/client.pem ${MONGO_ORCHESTRATION_HOME}/lib/client.pem 266 fi 267 268 "make files executable": 269 - command: shell.exec 270 params: 271 script: | 272 ${PREPARE_SHELL} 273 for i in $(find ${DRIVERS_TOOLS}/.evergreen ${PROJECT_DIRECTORY}/.evergreen -name \*.sh); do 274 chmod +x $i 275 done 276 277 "init test-results": 278 - command: shell.exec 279 params: 280 script: | 281 ${PREPARE_SHELL} 282 echo '{"results": [{ "status": "FAIL", "test_file": "Build", "log_raw": "No test-results.json found was created" } ]}' > ${PROJECT_DIRECTORY}/test-results.json 283 284 "upload xml test results": 285 - command: attach.xunit_results 286 params: 287 file: "${DRIVER_TEST_UPLOAD_DIRECTORY}" 288 289 290 ### UPLOAD MONGODB AND ORCHESTRATION LOGS ### 291 "upload mo artifacts": 292 - command: shell.exec 293 params: 294 script: | 295 ${PREPARE_SHELL} 296 find $MONGO_ORCHESTRATION_HOME -name \*.log | xargs tar czf ${PROJECT_DIRECTORY}/mongodb-logs.tar.gz 297 - command: s3.put 298 params: 299 aws_key: ${aws_key} 300 aws_secret: ${aws_secret} 301 local_file: ${PROJECT_DIRECTORY}/mongodb-logs.tar.gz 302 remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-mongodb-logs.tar.gz 303 bucket: mciuploads 304 permissions: public-read 305 content_type: ${content_type|application/x-gzip} 306 display_name: "mongodb-logs.tar.gz" 307 - command: s3.put 308 params: 309 aws_key: ${aws_key} 310 aws_secret: ${aws_secret} 311 local_file: ${DRIVERS_TOOLS}/.evergreen/orchestration/server.log 312 remote_file: ${UPLOAD_BUCKET}/${build_variant}/${revision}/${version_id}/${build_id}/logs/${task_id}-${execution}-orchestration.log 313 bucket: mciuploads 314 permissions: public-read 315 content_type: ${content_type|text/plain} 316 display_name: "orchestration.log" 317 318 "setup drivers environment": 319 - command: shell.exec 320 params: 321 working_dir: "src" 322 script: | 323 cd ${DRIVER_WORKING_DIRECTORY} 324 # Get the current unique version of this checkout 325 if [ "${is_patch}" = "true" ]; then 326 CURRENT_VERSION=$(git describe)-patch-${version_id} 327 else 328 CURRENT_VERSION=latest 329 fi 330 331 export DRIVERS_TOOLS="$(pwd)/../drivers-evergreen-tools" 332 333 # Python has cygwin path problems on Windows. Detect prospective mongo-orchestration home directory 334 if [ "Windows_NT" == "$OS" ]; then # Magic variable in cygwin 335 export DRIVERS_TOOLS=$(cygpath -m $DRIVERS_TOOLS) 336 fi 337 338 echo "TESTING PLATFORM ${PLATFORM}" 339 340 export MONGO_ORCHESTRATION_HOME="$DRIVERS_TOOLS/.evergreen/orchestration" 341 export MONGODB_BINARIES="$DRIVERS_TOOLS/mongodb/bin" 342 export UPLOAD_BUCKET="${project}" 343 export PROJECT_DIRECTORY="$(pwd)" 344 export MONGODB_DOWNLOAD_URL="https://s3.amazonaws.com/mciuploads/drivers-nightly/${PLATFORM}/${revision}/binaries/mongo-${revision}.${FILE_EXT}" 345 346 cat <<EOT > expansion.yml 347 CURRENT_VERSION: "$CURRENT_VERSION" 348 DRIVERS_TOOLS: "$DRIVERS_TOOLS" 349 MONGO_ORCHESTRATION_HOME: "$MONGO_ORCHESTRATION_HOME" 350 MONGODB_BINARIES: "$MONGODB_BINARIES" 351 UPLOAD_BUCKET: "$UPLOAD_BUCKET" 352 PROJECT_DIRECTORY: "$PROJECT_DIRECTORY" 353 MONGODB_DOWNLOAD_URL: "$MONGODB_DOWNLOAD_URL" 354 PREPARE_SHELL: | 355 set -o errexit 356 set -o xtrace 357 export DRIVERS_TOOLS="$DRIVERS_TOOLS" 358 export MONGO_ORCHESTRATION_HOME="$MONGO_ORCHESTRATION_HOME" 359 export MONGODB_BINARIES="$MONGODB_BINARIES" 360 export UPLOAD_BUCKET="$UPLOAD_BUCKET" 361 export PROJECT_DIRECTORY="$PROJECT_DIRECTORY" 362 export MONGODB_DOWNLOAD_URL="$MONGODB_DOWNLOAD_URL" 363 364 export TMPDIR="$MONGO_ORCHESTRATION_HOME/db" 365 export PATH="$MONGODB_BINARIES:$PATH" 366 export PROJECT="${project}" 367 EOT 368 # See what we've done 369 cat expansion.yml 370 371 # Load the expansion file to make an evergreen variable with the current unique version 372 - command: expansions.update 373 params: 374 file: src/${DRIVER_WORKING_DIRECTORY}/expansion.yml 375 376### PRE ### 377pre: 378 - func: "cleanup environment" 379 380### POST ### 381post: 382 - command: attach.results 383 params: 384 file_location: src/report.json 385 - func: "upload mo artifacts" 386 - func: "upload xml test results" 387 # Cleanup steps. 388 - command: shell.exec 389 params: 390 working_dir: src 391 script: | 392 # removes files from the (local) scons cache when it's over a 393 # threshold, to the $prune_ratio percentage. Ideally override 394 # these default values in the distro config in evergreen. 395 396 if [ -d "${scons_cache_path}" ]; then 397 ${python|python} buildscripts/scons_cache_prune.py --cache-dir '${scons_cache_path}' --cache-size ${scons_cache_size|200} --prune-ratio ${scons_prune_ratio|0.8} 398 fi 399 - func: "cleanup environment" 400 401####################################### 402# TASKS # 403####################################### 404 405tasks: 406 407### MONGO COMPILE & TEST TASKS ### 408 409- name: compile 410 depends_on: [] 411 commands: 412 - command: manifest.load 413 - *git_get_project 414 - func: "get buildnumber" 415 - func: "setup credentials" 416 - *generate_compile_expansions 417 # Then we load the generated version data into the agent so we can use it in task definitions 418 - *apply_compile_expansions 419 420 - command: shell.exec 421 type: test 422 params: 423 working_dir: src 424 script: | 425 set -o errexit 426 set -o verbose 427 428 rm -rf ${install_directory|/data/mongo-install-directory} 429 430 ${compile_env|} ${python|/opt/mongodbtoolchain/v2/bin/python2} ./buildscripts/scons.py ${compile_flags|} ${scons_cache_args|} core unittests MONGO_VERSION=${version} 431 432 # Pack up the binaries 433 mkdir -p mongodb-binaries/bin 434 if [ `which strip` ]; then 435 echo "found strip" 436 find . -maxdepth 1 -type f -iname "mongo*" -exec strip {} \; 437 fi 438 find . -maxdepth 1 -type f -iname "mongo*" -exec mv {} ./mongodb-binaries/bin/ \; 439 ${compress} mongodb-binaries.${ext|tgz} mongodb-binaries/ 440 441 ### Run the unittests after the compile 442 - func: "run mongo tests" 443 vars: 444 resmoke_args: --suites=unittests 445 run_multiple_jobs: true 446 - command: s3.put 447 params: 448 aws_key: ${aws_key} 449 aws_secret: ${aws_secret} 450 local_file: src/mongodb-binaries.${ext|tgz} 451 remote_file: drivers-nightly/${platform}/${revision}/binaries/mongo-${revision}.${ext|tgz} 452 bucket: mciuploads 453 permissions: public-read 454 content_type: ${content_type|application/x-gzip} 455 display_name: Binaries 456 457- <<: *task_template 458 name: jsCore_WT 459 commands: 460 - func: "do setup" 461 - func: "run mongo tests" 462 vars: 463 resmoke_args: --suites=core --storageEngine=wiredTiger 464 run_multiple_jobs: true 465 466### DRIVER TEST TASKS ### 467- name: "test-nightly-standalone" 468 depends_on: 469 - variant: ".compile-variant" 470 name: "jsCore_WT" 471 tags: ["nightly", "standalone"] 472 commands: 473 - *git_get_project 474 - func: "setup drivers environment" 475 vars: 476 VERSION: "nightly" 477 TOPOLOGY: "server" 478 - func: "windows fix" 479 - func: "fix absolute paths" 480 - func: "init test-results" 481 - func: "make files executable" 482 - func: "bootstrap mongo-orchestration" 483 - func: "run driver tests" 484 485- name: "test-nightly-replica_set" 486 depends_on: 487 - variant: ".compile-variant" 488 name: "jsCore_WT" 489 tags: ["nightly", "replica_set"] 490 commands: 491 - *git_get_project 492 - func: "setup drivers environment" 493 vars: 494 VERSION: "nightly" 495 TOPOLOGY: "replica_set" 496 - func: "windows fix" 497 - func: "fix absolute paths" 498 - func: "init test-results" 499 - func: "make files executable" 500 - func: "bootstrap mongo-orchestration" 501 - func: "run driver tests" 502 503- name: "test-nightly-sharded_cluster" 504 depends_on: 505 - variant: ".compile-variant" 506 name: "jsCore_WT" 507 tags: ["nightly", "sharded_cluster"] 508 commands: 509 - *git_get_project 510 - func: "setup drivers environment" 511 vars: 512 VERSION: "nightly" 513 TOPOLOGY: "sharded_cluster" 514 - func: "windows fix" 515 - func: "fix absolute paths" 516 - func: "init test-results" 517 - func: "make files executable" 518 - func: "bootstrap mongo-orchestration" 519 - func: "run driver tests" 520 521####################################### 522# AXES # 523####################################### 524axes: 525 ### GENERAL FOR ALL DRIVERS TESTS ### 526 - id: os 527 display_name: OS 528 values: 529 - id: "rhel62" 530 display_name: "RHEL 6.2" 531 run_on: rhel62-test 532 variables: 533 PLATFORM: "linux" 534 FILE_EXT: "tgz" 535 - id: "windows64" 536 display_name: "Windows 64" 537 run_on: windows-64-vs2015-test 538 variables: 539 PLATFORM: "windows64" 540 FILE_EXT: "zip" 541 - id: auth 542 display_name: Authentication 543 values: 544 - id: "auth" 545 display_name: Auth 546 variables: 547 AUTH: "auth" 548 - id: "noauth" 549 display_name: NoAuth 550 variables: 551 AUTH: "noauth" 552 - id: ssl 553 display_name: SSL 554 values: 555 - id: "ssl" 556 display_name: SSL 557 variables: 558 SSL: "ssl" 559 - id: "nossl" 560 display_name: NoSSL 561 variables: 562 SSL: "nossl" 563 564 ### DRIVER-SPECIFIC AXES ### 565 ### DRIVERS TEAM, ADD YOUR AXES VARIABLES HERE ### 566 567 ### Java ### 568 - id: jdk 569 display_name: JDK 570 values: 571 - id: "jdk8" 572 display_name: JDK8 573 variables: 574 JDK: "jdk8" 575 DRIVER_WORKING_DIRECTORY: "mongo-java-driver" 576 DRIVER_TEST_UPLOAD_DIRECTORY: "src/mongo-java-driver/*/build/test-results/TEST-*.xml" 577 ### Python ### 578 - id: python-linux 579 display_name: "Python" 580 values: 581 - id: "2.6" 582 display_name: "Python 2.6" 583 variables: 584 PYTHON_BINARY: "/opt/python/2.6/bin/python" 585 DRIVER_WORKING_DIRECTORY: "mongo-python-driver" 586 DRIVER_TEST_UPLOAD_DIRECTORY: "src/mongo-python-driver/xunit-results/TEST-*.xml" 587 - id: "2.7" 588 display_name: "Python 2.7" 589 variables: 590 PYTHON_BINARY: "/opt/python/2.7/bin/python" 591 DRIVER_WORKING_DIRECTORY: "mongo-python-driver" 592 DRIVER_TEST_UPLOAD_DIRECTORY: "src/mongo-python-driver/xunit-results/TEST-*.xml" 593 - id: "3.6" 594 display_name: "Python 3.6" 595 variables: 596 PYTHON_BINARY: "/opt/python/3.6/bin/python3" 597 DRIVER_WORKING_DIRECTORY: "mongo-python-driver" 598 DRIVER_TEST_UPLOAD_DIRECTORY: "src/mongo-python-driver/xunit-results/TEST-*.xml" 599 - id: python-windows 600 display_name: "Windows Visual Studio 2010 Python" 601 values: 602 - id: "2.7" 603 display_name: "Python 2.7" 604 variables: 605 PYTHON_BINARY: "/cygdrive/c/python/Python27/python.exe" 606 DRIVER_WORKING_DIRECTORY: "mongo-python-driver" 607 DRIVER_TEST_UPLOAD_DIRECTORY: "src/mongo-python-driver/xunit-results/TEST-*.xml" 608 - id: "3.6" 609 display_name: "Python 3.6" 610 variables: 611 PYTHON_BINARY: "/cygdrive/c/python/Python36/python.exe" 612 DRIVER_WORKING_DIRECTORY: "mongo-python-driver" 613 DRIVER_TEST_UPLOAD_DIRECTORY: "src/mongo-python-driver/xunit-results/TEST-*.xml" 614 615####################################### 616# MODULES # 617####################################### 618 619# If a module is added it must be added to the manifest 620# be sure to add the module to 'git.get_project' revisions parameter 621# DRIVERS add your own git repo / branch here and add up top in 'git.get_project' 622modules: 623- name: enterprise 624 repo: git@github.com:10gen/mongo-enterprise-modules.git 625 prefix: src/mongo/db/modules 626 branch: v3.6 627 628# Shared by all drivers projects 629- name: drivers-evergreen-tools 630 repo: git@github.com:mongodb-labs/drivers-evergreen-tools.git 631 branch: master 632 633### DRIVER REPOS ### 634### DRIVERS ADD YOUR GIT REPO HERE ### 635- name: mongo-java-driver 636 repo: git@github.com:mongodb/mongo-java-driver.git 637 branch: master 638 639- name: mongo-python-driver 640 repo: git@github.com:mongodb/mongo-python-driver.git 641 branch: master 642 643####################################### 644# BUILDVARIANTS # 645####################################### 646 647buildvariants: 648 649### MONGO COMPILE VARIANTS ### 650 651### Linux Compile Variant ### 652- name: rhel62 653 display_name: RHEL 6.2 MongoDB Compile 654 modules: 655 - enterprise 656 run_on: 657 - rhel62-small 658 expansions: 659 platform: linux 660 compile_flags: --ssl MONGO_DISTMOD=rhel62 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars 661 multiversion_platform_arch: "rhel62" 662 multiversion_edition: "targeted" 663 num_jobs_available: $(grep -c ^processor /proc/cpuinfo) 664 use_scons_cache: true 665 ### build_mongoreplay: true 666 ext: tgz 667 tags: ["compile-variant"] 668 tasks: 669 - name: compile 670 distros: 671 - rhel62-large 672 - name: jsCore_WT 673 674### Windows compile variant ### 675- name: enterprise-windows-64 676 display_name: "Enterprise Windows MongoDB Compile" 677 modules: 678 - enterprise 679 run_on: 680 - windows-64-vs2015-compile 681 expansions: 682 platform: "windows64" 683 exe: ".exe" 684 content_type: application/zip 685 compile_flags: --ssl MONGO_DISTMOD=windows-64 --release CPPPATH="c:/openssl/include c:/sasl/include c:/snmp/include c:/curl/include" LIBPATH="c:/openssl/lib c:/sasl/lib c:/snmp/lib c:/curl/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 4 )) --dynamic-windows --win-version-min=ws08r2 VARIANT_DIR=win32 686 num_jobs_available: $(grep -c ^processor /proc/cpuinfo) 687 ext: zip 688 use_scons_cache: true 689 python: python 690 tags: ["compile-variant"] 691 tasks: 692 - name: compile 693 distros: 694 - windows-64-vs2015-large 695 - name: jsCore_WT 696 697### DRIVER Test Variants 698### DRIVERS add your matrix or test variant here 699 700### Python 2.7 Linux Matrix Secure 701- matrix_name: "python-driver-2.7-linux-secure" 702 matrix_spec: {auth: "auth", ssl: "ssl", os: "rhel62", python-linux: "2.7" } 703 display_name: "Python Driver ${os} ${python-linux} ${auth} ${ssl}" 704 modules: [ "mongo-python-driver", "drivers-evergreen-tools" ] 705 tasks: 706 - name: "test-nightly-replica_set" 707 - name: "test-nightly-sharded_cluster" 708 - name: "test-nightly-standalone" 709 710### Python 2.7 Linux Matrix Insecure 711- matrix_name: "python-driver-2.7-linux-insecure" 712 matrix_spec: {auth: "noauth", ssl: "nossl", os: "rhel62", python-linux: "2.7" } 713 display_name: "Python Driver ${os} ${python-linux} ${auth} ${ssl}" 714 modules: [ "mongo-python-driver", "drivers-evergreen-tools" ] 715 tasks: 716 - name: "test-nightly-replica_set" 717 - name: "test-nightly-sharded_cluster" 718 - name: "test-nightly-standalone" 719 720### Python 3.6 Linux Matrix Secure 721- matrix_name: "python-driver-3.6-linux-secure" 722 matrix_spec: {auth: "auth", ssl: "ssl", os: "rhel62", python-linux: "3.6" } 723 display_name: "Python Driver ${os} ${python-linux} ${auth} ${ssl}" 724 modules: [ "mongo-python-driver", "drivers-evergreen-tools" ] 725 tasks: 726 - name: "test-nightly-replica_set" 727 - name: "test-nightly-sharded_cluster" 728 - name: "test-nightly-standalone" 729 730### Python 3.6 Linux Matrix Insecure 731- matrix_name: "python-driver-3.6-linux-insecure" 732 matrix_spec: {auth: "noauth", ssl: "nossl", os: "rhel62", python-linux: "3.6" } 733 display_name: "Python Driver ${os} ${python-linux} ${auth} ${ssl}" 734 modules: [ "mongo-python-driver", "drivers-evergreen-tools" ] 735 tasks: 736 - name: "test-nightly-replica_set" 737 - name: "test-nightly-sharded_cluster" 738 - name: "test-nightly-standalone" 739 740### Python 2.7 Windows Matrix Secure 741- matrix_name: "python-driver-2.7-windows-secure" 742 matrix_spec: {auth: "auth", ssl: "ssl", os: "windows64", python-windows: "2.7" } 743 display_name: "Python Driver ${os} ${python-windows} ${auth} ${ssl}" 744 modules: [ "mongo-python-driver", "drivers-evergreen-tools" ] 745 tasks: 746 - name: "test-nightly-replica_set" 747 - name: "test-nightly-sharded_cluster" 748 - name: "test-nightly-standalone" 749 750### Python 2.7 Windows Matrix Insecure 751- matrix_name: "python-driver-2.7-windows-insecure" 752 matrix_spec: {auth: "noauth", ssl: "nossl", os: "windows64", python-windows: "2.7" } 753 display_name: "Python Driver ${os} ${python-windows} ${auth} ${ssl}" 754 modules: [ "mongo-python-driver", "drivers-evergreen-tools" ] 755 tasks: 756 - name: "test-nightly-replica_set" 757 - name: "test-nightly-sharded_cluster" 758 - name: "test-nightly-standalone" 759 760### Python 3.6 Windows Matrix Secure 761- matrix_name: "python-driver-3.6-windows-secure" 762 matrix_spec: {auth: "auth", ssl: "ssl", os: "windows64", python-windows: "3.6" } 763 display_name: "Python Driver ${os} ${python-windows} ${auth} ${ssl}" 764 modules: [ "mongo-python-driver", "drivers-evergreen-tools" ] 765 tasks: 766 - name: "test-nightly-replica_set" 767 - name: "test-nightly-sharded_cluster" 768 - name: "test-nightly-standalone" 769 770### Python 3.6 Windows Matrix Insecure 771- matrix_name: "python-driver-3.6-windows-insecure" 772 matrix_spec: {auth: "noauth", ssl: "nossl", os: "windows64", python-windows: "3.6" } 773 display_name: "Python Driver ${os} ${python-windows} ${auth} ${ssl}" 774 modules: [ "mongo-python-driver", "drivers-evergreen-tools" ] 775 tasks: 776 - name: "test-nightly-replica_set" 777 - name: "test-nightly-sharded_cluster" 778 - name: "test-nightly-standalone" 779 780### Java Linux Matrix Secure 781- matrix_name: "java-driver-linux-secure" 782 matrix_spec: {auth: "auth", ssl: "ssl", os: "rhel62", jdk: "jdk8" } 783 display_name: "Java Driver ${os} ${jdk} ${auth} ${ssl}" 784 modules: [ "mongo-java-driver", "drivers-evergreen-tools" ] 785 tasks: 786 - name: "test-nightly-replica_set" 787 - name: "test-nightly-sharded_cluster" 788 - name: "test-nightly-standalone" 789 790### Java Linux Matrix Insecure 791- matrix_name: "java-driver-linux-insecure" 792 matrix_spec: {auth: "noauth", ssl: "nossl", os: "rhel62", jdk: "jdk8" } 793 display_name: "Java Driver ${os} ${jdk} ${auth} ${ssl}" 794 modules: [ "mongo-java-driver", "drivers-evergreen-tools" ] 795 tasks: 796 - name: "test-nightly-replica_set" 797 - name: "test-nightly-sharded_cluster" 798 - name: "test-nightly-standalone" 799