diff options
Diffstat (limited to 'src/third_party/wiredtiger/test/evergreen.yml')
-rwxr-xr-x | src/third_party/wiredtiger/test/evergreen.yml | 316 |
1 files changed, 138 insertions, 178 deletions
diff --git a/src/third_party/wiredtiger/test/evergreen.yml b/src/third_party/wiredtiger/test/evergreen.yml index bf20d7568bc..a61c797e683 100755 --- a/src/third_party/wiredtiger/test/evergreen.yml +++ b/src/third_party/wiredtiger/test/evergreen.yml @@ -4,7 +4,7 @@ # functions: - "fetch source" : + "get project" : command: git.get_project params: directory: wiredtiger @@ -13,7 +13,7 @@ functions: params: aws_key: ${aws_key} aws_secret: ${aws_secret} - remote_file: wiredtiger/${build_variant}/${revision}/artifacts/${build_id}.tgz + remote_file: wiredtiger/${build_variant}/${revision}/artifacts/${dependent_task|compile}_${build_id}.tgz bucket: build_external extract_to: wiredtiger "fetch artifacts from little-endian" : @@ -54,11 +54,13 @@ functions: set -o errexit set -o verbose if [ "Windows_NT" = "$OS" ]; then - scons.bat --enable-python=c:\\swigwin-3.0.2\\swig.exe --enable-diagnostic ${smp_command|} + pip install scons==3.1.1 + scons-3.1.1.bat ${win_configure_flags|--enable-python=c:\\swigwin-3.0.2\\swig.exe --enable-diagnostic} ${smp_command|} else cd build_posix sh ./reconf - ${configure_env_vars|} ../configure ${configure_python_setting|} --enable-diagnostic --enable-python --enable-zlib --enable-strict --enable-static --prefix=$(pwd)/LOCAL_INSTALL + ${configure_env_vars|} ../configure ${configure_python_setting|} \ + ${posix_configure_flags|--enable-diagnostic --enable-python --enable-zlib --enable-strict --enable-static --prefix=$(pwd)/LOCAL_INSTALL} ${make_command|make} ${smp_command|} 2>&1 # On macOS, change the binary location with install_name_tool since DYLD_LIBRARY_PATH @@ -70,62 +72,59 @@ functions: install_name_tool -change /usr/local/lib/libwiredtiger-$WT_VERSION.dylib $(pwd)/.libs/libwiredtiger-$WT_VERSION.dylib .libs/wt fi fi - -pre: - - command: shell.exec - params: - script: | - rm -rf "wiredtiger" -post: - - command: shell.exec + "make check directory": + command: shell.exec params: - working_dir: "wiredtiger" + working_dir: "wiredtiger/build_posix" script: | set -o errexit set -o verbose - tar cfz ../wiredtiger.tgz . - - command: s3.put + + ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C ${directory} ${smp_command|} 2>&1 + "upload artifact": + - command: archive.targz_pack + params: + target: "wiredtiger.tgz" + source_dir: "wiredtiger" + include: + - "./**" + - command: s3.put + params: + aws_secret: ${aws_secret} + aws_key: ${aws_key} + local_file: wiredtiger.tgz + bucket: build_external + permissions: public-read + content_type: application/tar + display_name: Artifacts + remote_file: wiredtiger/${build_variant}/${revision}/artifacts/${task_name}_${build_id}.tgz + "cleanup": + command: shell.exec params: - aws_secret: ${aws_secret} - aws_key: ${aws_key} - local_file: wiredtiger.tgz - bucket: build_external - permissions: public-read - content_type: application/tar - display_name: Artifacts - remote_file: wiredtiger/${build_variant}/${revision}/artifacts/${task_id}.tgz + script: | + rm -rf "wiredtiger" + rm -rf "wiredtiger.tgz" + +pre: + - func: "cleanup" +post: + - func: "upload artifact" + - func: "cleanup" tasks: ## Base compile task on posix flavours - name: compile commands: - - func: "fetch source" - - command: git.apply_patch - params: - directory: wiredtiger + - func: "get project" - func: "compile wiredtiger" - - command: archive.targz_pack - params: - target: "wiredtiger.tgz" - source_dir: "wiredtiger" - include: - - "./**" - - command: s3.put - params: - aws_secret: ${aws_secret} - aws_key: ${aws_key} - local_file: wiredtiger.tgz - bucket: build_external - permissions: public-read - content_type: application/tar - display_name: Artifacts_compile - remote_file: wiredtiger/${build_variant}/${revision}/artifacts/${build_id}.tgz - # Remove the artifacts here so the later post commands won't perform duplicated archiving. - - command: shell.exec - params: - script: | - rm -rf "wiredtiger" - rm -rf "wiredtiger.tgz" + + - name: compile-asan + commands: + - func: "get project" + - func: "compile wiredtiger" + vars: + configure_env_vars: CC=/opt/mongodbtoolchain/v3/bin/clang CXX=/opt/mongodbtoolchain/v3/bin/clang++ ASAN_OPTIONS=detect_leaks=1:abort_on_error=1:disable_coredump=0 ASAN_SYMBOLIZER_PATH=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer CFLAGS=-fsanitize=address + posix_configure_flags: --enable-silent-rules --enable-strict --enable-diagnostic --disable-static - name: make-check-test depends_on: @@ -150,14 +149,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C lang/python ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: lang/python - name: examples-c-test depends_on: @@ -165,14 +159,24 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose + - func: "make check directory" + vars: + directory: examples/c - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C examples/c ${smp_command|} 2>&1 + - name: examples-c-test-asan + depends_on: + - name: compile-asan + commands: + - func: "fetch artifacts" + vars: + dependent_task: compile-asan + - func: "compile wiredtiger" + vars: + configure_env_vars: CC=/opt/mongodbtoolchain/v3/bin/clang CXX=/opt/mongodbtoolchain/v3/bin/clang++ ASAN_OPTIONS=detect_leaks=1:abort_on_error=1:disable_coredump=0 ASAN_SYMBOLIZER_PATH=/opt/mongodbtoolchain/v3/bin/llvm-symbolizer CFLAGS=-fsanitize=address + posix_configure_flags: --enable-silent-rules --enable-strict --enable-diagnostic --disable-static + - func: "make check directory" + vars: + directory: examples/c - name: bloom-test depends_on: @@ -180,14 +184,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C test/bloom ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: test/bloom - name: checkpoint-test depends_on: @@ -195,14 +194,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C test/checkpoint ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: test/checkpoint - name: cursor-order-test depends_on: @@ -210,14 +204,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C test/cursor_order ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: test/cursor_order - name: fops-test depends_on: @@ -225,14 +214,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C test/fops ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: test/fops - name: format-test depends_on: @@ -240,14 +224,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C test/format ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: test/format - name: huge-test depends_on: @@ -255,14 +234,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C test/huge ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: test/huge - name: manydbs-test depends_on: @@ -270,14 +244,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C test/manydbs ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: test/manydbs - name: packing-test depends_on: @@ -285,14 +254,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C test/packing ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: test/packing - name: readonly-test depends_on: @@ -300,14 +264,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C test/readonly ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: test/readonly - name: salvage-test depends_on: @@ -315,14 +274,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C test/salvage ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: test/salvage - name: thread-test depends_on: @@ -330,14 +284,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C test/thread ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: test/thread - name: bench-wtperf-test depends_on: @@ -345,14 +294,9 @@ tasks: commands: - func: "fetch artifacts" - func: "compile wiredtiger" - - command: shell.exec - params: - working_dir: "wiredtiger/build_posix" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C bench/wtperf ${smp_command|} 2>&1 + - func: "make check directory" + vars: + directory: bench/wtperf # End of normal make check test tasks @@ -856,7 +800,7 @@ tasks: # Avoid /usr/bin/python, at least on macOS: with System Integrity # Protection enabled, it ignores DYLD_LIBRARY_PATH and hence # doesn't find the WiredTiger library in the local tree. - ${test_env_vars|} python ../test/suite/run.py -v 2 ${smp_command|} 2>&1 + ${test_env_vars|} ${python_binary|python} ../test/suite/run.py -v 2 ${smp_command|} 2>&1 # Break out Python unit tests into multiple buckets/tasks based on test name and runtime # The test/suite/run.py script can work out test names by casting each command argument @@ -991,7 +935,8 @@ tasks: set -o errexit set -o verbose - scons.bat ${smp_command|} "CFLAGS=/Gv /wd4090 /wd4996 /we4047 /we4024 /TC /we4100 /we4133" wiredtiger.dll libwiredtiger.lib + pip install scons==3.1.1 + scons-3.1.1.bat ${smp_command|} "CFLAGS=/Gv /wd4090 /wd4996 /we4047 /we4024 /TC /we4100 /we4133" wiredtiger.dll libwiredtiger.lib - name: fops depends_on: @@ -1025,16 +970,14 @@ tasks: cmd.exe /c "cd test\\format && ..\\..\\t_format.exe reverse=0 encryption=none logging_compression=none runs=20" - name: million-collection-test - depends_on: [] - run_on: - - rhel62-large commands: - - func: "fetch source" + - func: "get project" - func: "fetch mongo-tests repo" - command: shell.exec params: working_dir: mongo-tests script: | + sudo su set -o errexit set -o verbose ulimit -n 1000000 @@ -1043,7 +986,7 @@ tasks: - name: compatibility-test-for-mongodb-releases commands: - - func: "fetch source" + - func: "get project" - command: shell.exec params: working_dir: "wiredtiger" @@ -1176,10 +1119,10 @@ tasks: buildvariants: -- name: ubuntu1404 - display_name: Ubuntu 14.04 +- name: ubuntu1804 + display_name: Ubuntu 18.04 run_on: - - ubuntu1404-test + - ubuntu1804-test expansions: # It's ugly, but we need the absolute path here, not the relative test_env_vars: PATH=/opt/mongodbtoolchain/v3/bin:$PATH LD_LIBRARY_PATH=$(pwd)/.libs top_srcdir=$(pwd)/.. top_builddir=$(pwd) @@ -1243,11 +1186,13 @@ buildvariants: - name: unit-test-bucket06 - name: unit-test-bucket07 - name: fops + - name: compile-asan + - name: examples-c-test-asan -- name: ubuntu1404-python3 - display_name: Ubuntu 14.04 (Python3) +- name: ubuntu1804-python3 + display_name: Ubuntu 18.04 (Python3) run_on: - - ubuntu1404-test + - ubuntu1804-test expansions: test_env_vars: PATH=/opt/mongodbtoolchain/v3/bin:$PATH LD_LIBRARY_PATH=$(pwd)/.libs top_srcdir=$(pwd)/.. top_builddir=$(pwd) smp_command: -j $(grep -c ^processor /proc/cpuinfo) @@ -1266,11 +1211,26 @@ buildvariants: - name: unit-test-bucket06 - name: unit-test-bucket07 +- name: rhel80 + display_name: RHEL 8.0 + run_on: + - rhel80-test + expansions: + test_env_vars: PATH=/opt/mongodbtoolchain/v3/bin:$PATH LD_LIBRARY_PATH=$(pwd)/.libs top_srcdir=$(pwd)/.. top_builddir=$(pwd) + smp_command: -j $(grep -c ^processor /proc/cpuinfo) + configure_env_vars: CC=/opt/mongodbtoolchain/v3/bin/gcc CXX=/opt/mongodbtoolchain/v3/bin/g++ PATH=/opt/mongodbtoolchain/v3/bin:$PATH + make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + tasks: + - name: compile + - name: make-check-test + - name: unit-test + - name: fops + - name: large-scale-test display_name: Large scale testing batchtime: 1440 # 1 day run_on: - - rhel62-large + - rhel80-build expansions: configure_env_vars: CC=/opt/mongodbtoolchain/v3/bin/gcc CXX=/opt/mongodbtoolchain/v3/bin/g++ tasks: @@ -1280,14 +1240,14 @@ buildvariants: display_name: Compatibility tests batchtime: 10080 # 7 days run_on: - - ubuntu1404-test + - ubuntu1804-test tasks: - name: compatibility-test-for-mongodb-releases - name: windows-64 display_name: Windows 64-bit run_on: - - windows-64-vs2013-test + - windows-64-vs2017-test tasks: - name: compile - name: compile-windows-alt @@ -1320,7 +1280,7 @@ buildvariants: - name: little-endian display_name: Little-endian (x86) run_on: - - ubuntu1404-test + - ubuntu1804-test batchtime: 10080 # 7 days expansions: smp_command: -j $(grep -c ^processor /proc/cpuinfo) @@ -1337,7 +1297,7 @@ buildvariants: modules: - enterprise run_on: - - ubuntu1604-zseries-small + - ubuntu1804-zseries-build batchtime: 10080 # 7 days expansions: smp_command: -j $(grep -c ^processor /proc/cpuinfo) |