summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/test/evergreen.yml
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/test/evergreen.yml')
-rwxr-xr-xsrc/third_party/wiredtiger/test/evergreen.yml316
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)