@@ -37,33 +37,39 @@ cxx_driver_variables:
3737 mongo_download_url_prefixes :
3838 ubuntu1404 : &mongo_url_ubuntu1404
3939 mongo_url_prefix : " http://downloads.mongodb.com/linux/mongodb-linux-x86_64-"
40- mongo_url_platform : " ubuntu1404"
40+ mongo_url_platform : " ubuntu1404- "
4141 windows64-bitcomm : &mongo_url_windows64
4242 mongo_url_extension : " zip"
4343 mongo_url_prefix : " http://downloads.mongodb.com/win32/mongodb-win32-x86_64-"
44- mongo_url_platform : " windows-64"
44+ mongo_url_platform : " windows-64- "
4545 rhel55 : &mongo_url_rhel55
4646 mongo_url_prefix : " http://downloads.mongodb.com/linux/mongodb-linux-x86_64-"
47- mongo_url_platform : " rhel57"
47+ mongo_url_platform : " rhel57- "
4848 rhel55_32 : &mongo_url_rhel55_32
49- mongo_url_prefix : " http://downloads.mongodb.org/linux/mongodb-linux-i686"
50- mongo_url_platform : " "
49+ mongo_url_prefix : " http://downloads.mongodb.org/linux/mongodb-linux-i686-"
50+ mongo_url_enterprise_keyword : " "
51+ mongo_url_subscription_keyword : " "
52+ osx-108 : &mongo_url_osx_108
53+ mongo_url_prefix : " http://downloads.mongodb.org/osx/mongodb-osx-x86_64-"
54+ mongo_url_enterprise_keyword : " "
5155
5256# # Common sets of scons flags
5357 scons_flags :
5458 standard : &scons_flags_64
55- scons_flags : " --64 --ssl --use-sasl-client --sharedclient"
59+ scons_flags : " --64 -j$(grep -c ^processor /proc/cpuinfo) - -ssl --use-sasl-client --sharedclient"
5660 standard_32 : &scons_flags_32
57- scons_flags : " --32 --ssl --use-sasl-client --sharedclient"
61+ scons_flags : " --32 -j$(grep -c ^processor /proc/cpuinfo) - -ssl --use-sasl-client --sharedclient"
5862 ubuntu_c++11 : &scons_flags_cpp11
59- scons_flags : " --64 --c++11 --ssl --use-sasl-client --sharedclient"
63+ scons_flags : " --64 -j$(grep -c ^processor /proc/cpuinfo) --c++11 --ssl --use-sasl-client --sharedclient"
64+ osx_108 : &scons_flags_osx_108
65+ scons_flags : " --64 -j$(sysctl -n hw.logicalcpu) --ssl --use-sasl-client --sharedclient"
6066 # # test all plausible combinations of static/dynamic mongo client and windows runtime:
6167 static_windows : &scons_flags_64_windows_static
62- scons_flags : " --64 --ssl --use-sasl-client"
68+ scons_flags : " --64 -j$(grep -c ^processor /proc/cpuinfo) - -ssl --use-sasl-client"
6369 dynamic_RT_windows : &scons_flags_64_windows_dynamic_rt
64- scons_flags : " --64 --ssl --use-sasl-client --dynamic-windows"
70+ scons_flags : " --64 -j$(grep -c ^processor /proc/cpuinfo) - -ssl --use-sasl-client --dynamic-windows"
6571 dynamic_windows : &scons_flags_64_windows_dynamic
66- scons_flags : " --64 --ssl --use-sasl-client --dynamic-windows --sharedclient"
72+ scons_flags : " --64 -j$(grep -c ^processor /proc/cpuinfo) - -ssl --use-sasl-client --dynamic-windows --sharedclient"
6773
6874# # Common compile flags
6975 compile_flags :
@@ -106,6 +112,12 @@ cxx_driver_variables:
106112 msvc2013 : &toolchain_msvc2013
107113 toolchain_flags : --msvc-version=12.0
108114
115+ # # Paths for OS X builds
116+ osx_fixups :
117+ scons :
118+ boost_headers : &extrapath_osx_108
119+ extrapath : --extrapath="/opt/local"
120+
109121# # Paths and flags for RHEL 5.5 builds
110122 rhel55_fixups :
111123 scons :
@@ -122,6 +134,35 @@ cxx_driver_variables:
122134 lib64_boost : &libpath_rhel55_64
123135 libpath : --libpath="/usr/lib64/boost141"
124136
137+ # # Scripts that are shared between buildvariants
138+ scripts :
139+ mongo_orchestration :
140+ windows : &mongo_orchestration_windows
141+ start_mongo_orchestration : |
142+ echo "Installing Mongo Orchestration..."
143+ trap 'set +o errexit; cd mongo-orchestration; mongo-orchestration stop;' EXIT
144+ taskkill.exe /fi python /f
145+ git clone https://github.com/10gen/mongo-orchestration.git
146+ cd mongo-orchestration
147+ python setup.py install
148+ echo "Starting Mongo Orchestration..."
149+ echo "{ \"releases\": { \"default\": \"c:\\\\mongodb\\\\bin\" }, \"last_updated\": \"2014-08-29 20:57:00.000000\" }" > orchestration.config
150+ mongo-orchestration -f orchestration.config -e default -s wsgiref start
151+ cd ..
152+ linux : &mongo_orchestration_linux
153+ # # mongo orchestration is included on linux, no installation needed
154+ start_mongo_orchestration : |
155+ echo "Starting Mongo Orchestration..."
156+ trap 'set +o errexit; mongo-orchestration stop;' EXIT
157+ echo "{ \"releases\": { \"default\": \"`pwd`/mongodb/bin\" }, \"last_updated\": \"2014-08-29 20:57:00.000000\" }" > orchestration.config
158+ TMPDIR=/data/db mongo-orchestration -f orchestration.config -e default start
159+ osx : &mongo_orchestration_osx
160+ start_mongo_orchestration : |
161+ echo "Starting Mongo Orchestration..."
162+ trap 'set +o errexit; /usr/local/bin/mongo-orchestration stop;' EXIT
163+ echo "{ \"releases\": { \"default\": \"`pwd`/mongodb/bin\" }, \"last_updated\": \"2014-08-29 20:57:00.000000\" }" > orchestration.config
164+ TMPDIR=/data/db /usr/local/bin/mongo-orchestration -f orchestration.config -e default start
165+
125166# ######################################
126167# Functions #
127168# ######################################
@@ -162,7 +203,7 @@ functions:
162203 params :
163204 updates :
164205 - key : " mongo_url"
165- value : ${mongo_url_prefix}${mongo_url_enterprise_keyword|"enterprise-"}${mongo_url_platform}- latest.${mongo_url_extension|tgz}
206+ value : ${mongo_url_prefix}${mongo_url_enterprise_keyword|"enterprise-"}${mongo_url_platform|} latest.${mongo_url_extension|tgz}
166207
167208 " use inMemoryExperiment storage" :
168209 command : expansions.update
@@ -183,57 +224,29 @@ functions:
183224 params :
184225 updates :
185226 - key : " mongo_url"
186- value : ${mongo_url_prefix}${mongo_url_enterprise_keyword|"enterprise-"}${mongo_url_platform}- 2.6.5.${mongo_url_extension|tgz}
227+ value : ${mongo_url_prefix}${mongo_url_enterprise_keyword|"enterprise-"}${mongo_url_platform|} 2.6.5.${mongo_url_extension|tgz}
187228
188229 " set version 2.4" :
189230 command : expansions.update
190231 params :
191232 updates :
192233 - key : " mongo_url"
193- value : ${mongo_url_prefix}${mongo_url_subscription_keyword|"subscription-"}${mongo_url_platform}- 2.4.12.${mongo_url_extension|tgz}
234+ value : ${mongo_url_prefix}${mongo_url_subscription_keyword|"subscription-"}${mongo_url_platform|} 2.4.12.${mongo_url_extension|tgz}
194235
195236 " run integration tests" :
196237 command : shell.exec
197238 params :
198239 working_dir : " mongo-cxx-driver"
199240 script : |
200- echo "Starting Mongo Orchestration..."
201- if [ ${windows|false} = true ]; then
202- trap 'set +o errexit; cd mongo-orchestration; mongo-orchestration stop;' EXIT
203- taskkill.exe /fi python /f
204- git clone https://github.com/10gen/mongo-orchestration.git
205- cd mongo-orchestration
206- python setup.py install
207- echo "{ \"releases\": { \"default\": \"c:\\\\mongodb\\\\bin\" }, \"last_updated\": \"2014-08-29 20:57:00.000000\" }" > orchestration.config
208- mongo-orchestration -f orchestration.config -e default -s wsgiref start
209- cd ..
210- else
211- trap 'set +o errexit; mongo-orchestration stop;' EXIT
212- echo "{ \"releases\": { \"default\": \"`pwd`/mongodb/bin\" }, \"last_updated\": \"2014-08-29 20:57:00.000000\" }" > orchestration.config
213- TMPDIR=/data/db mongo-orchestration -f orchestration.config -e default start
214- fi
241+ ${start_mongo_orchestration}
215242 ${scons|scons} ${scons_flags} ${warning_flags} ${compile_flags} ${toolchain_flags} ${extrapath} ${dllpath} ${cpppath} ${libpath} ${orchestration_preset} integration
216243
217244 " run client tests" :
218245 command : shell.exec
219246 params :
220247 working_dir : " mongo-cxx-driver"
221248 script : |
222- echo "Starting Mongo Orchestration..."
223- if [ ${windows|false} = true ]; then
224- trap 'set +o errexit; cd mongo-orchestration; mongo-orchestration stop;' EXIT
225- taskkill.exe /fi python /f
226- git clone https://github.com/10gen/mongo-orchestration.git
227- cd mongo-orchestration
228- python setup.py install
229- echo "{ \"releases\": { \"default\": \"c:\\\\mongodb\\\\bin\" }, \"last_updated\": \"2014-08-29 20:57:00.000000\" }" > orchestration.config
230- mongo-orchestration -f orchestration.config -e default -s wsgiref start
231- cd ..
232- else
233- trap 'set +o errexit; mongo-orchestration stop;' EXIT
234- echo "{ \"releases\": { \"default\": \"`pwd`/mongodb/bin\" }, \"last_updated\": \"2014-08-29 20:57:00.000000\" }" > orchestration.config
235- TMPDIR=/data/db mongo-orchestration -f orchestration.config -e default start
236- fi
249+ ${start_mongo_orchestration}
237250 ${scons|scons} ${scons_flags} ${warning_flags} ${compile_flags} ${toolchain_flags} ${extrapath} ${dllpath} ${cpppath} ${libpath} install # static lib install step
238251 ${scons|scons} ${scons_flags} ${warning_flags} ${compile_flags} ${toolchain_flags} ${extrapath} ${dllpath} ${cpppath} ${libpath} check-install # static build installation header check
239252 ${scons|scons} ${scons_flags} ${warning_flags} ${compile_flags} ${toolchain_flags} ${extrapath} ${dllpath} ${cpppath} ${libpath} ${orchestration_preset} examples
@@ -289,7 +302,7 @@ tasks:
289302 script : |
290303 set -o errexit
291304 set -o verbose
292- ${scons|scons} -j$(grep -c ^processor /proc/cpuinfo) ${scons_flags} ${warning_flags} ${compile_flags} ${toolchain_flags} ${extrapath} ${dllpath} ${cpppath} ${libpath} all
305+ ${scons|scons} ${scons_flags} ${warning_flags} ${compile_flags} ${toolchain_flags} ${extrapath} ${dllpath} ${cpppath} ${libpath} all
293306 - command : shell.exec
294307 params :
295308 working_dir : " mongo-cxx-driver"
@@ -436,6 +449,7 @@ buildvariants:
436449 << : *cpppath_rhel55
437450 << : *libpath_rhel55_64
438451 << : *mongo_url_rhel55
452+ << : *mongo_orchestration_linux
439453 run_on :
440454 - rhel55-test
441455 tasks : *version_tests
@@ -445,14 +459,13 @@ buildvariants:
445459- name : rhel55-32-bit
446460 display_name : " RHEL 5.5 32-bit"
447461 expansions :
448- mongo_url_enterprise_keyword : " "
449- mongo_url_subscription_keyword : " "
450462 << : *compile_flags
451463 << : *scons_flags_32
452464 << : *warning_flags_rhel55
453465 << : *cpppath_rhel55
454466 << : *libpath_rhel55_32
455467 << : *mongo_url_rhel55_32
468+ << : *mongo_orchestration_linux
456469 run_on :
457470 - rhel55-test
458471 tasks : *latest_tests
@@ -465,6 +478,7 @@ buildvariants:
465478 << : *compile_flags
466479 << : *scons_flags_64
467480 << : *mongo_url_ubuntu1404
481+ << : *mongo_orchestration_linux
468482 run_on :
469483 - ubuntu1404-test
470484 tasks : *storage_engine_tests
@@ -477,6 +491,7 @@ buildvariants:
477491 << : *compile_flags_debug
478492 << : *scons_flags_64
479493 << : *mongo_url_ubuntu1404
494+ << : *mongo_orchestration_linux
480495 run_on :
481496 - ubuntu1404-test
482497 tasks : *latest_tests
@@ -490,10 +505,29 @@ buildvariants:
490505 << : *compile_flags
491506 << : *scons_flags_cpp11
492507 << : *mongo_url_ubuntu1404
508+ << : *mongo_orchestration_linux
493509 run_on :
494510 - ubuntu1404-test
495511 tasks : *latest_tests
496512
513+ # ######################################
514+ # OS X Buildvariants #
515+ # ######################################
516+
517+ # # OS X 10.8
518+
519+ - name : os-x-108
520+ display_name : " OS X 10.8"
521+ expansions :
522+ << : *compile_flags
523+ << : *mongo_url_osx_108
524+ << : *scons_flags_osx_108
525+ << : *extrapath_osx_108
526+ << : *mongo_orchestration_osx
527+ run_on :
528+ - osx-108
529+ tasks : *latest_tests
530+
497531# ######################################
498532# Windows Buildvariants #
499533# ######################################
@@ -516,6 +550,7 @@ buildvariants:
516550 << : *libpath_msvc2010
517551 << : *extrapath
518552 << : *cpppath_boost_1_55_0
553+ << : *mongo_orchestration_windows
519554 extension : " .exe"
520555 scons : scons.bat
521556 run_on :
@@ -537,6 +572,7 @@ buildvariants:
537572 << : *libpath_msvc2010
538573 << : *extrapath
539574 << : *cpppath_boost_1_55_0
575+ << : *mongo_orchestration_windows
540576 extension : " .exe"
541577 scons : scons.bat
542578 run_on :
@@ -558,6 +594,7 @@ buildvariants:
558594 << : *libpath_msvc2013
559595 << : *extrapath
560596 << : *cpppath_boost_1_56_0
597+ << : *mongo_orchestration_windows
561598 extension : " .exe"
562599 scons : scons.bat
563600 run_on :
@@ -579,6 +616,7 @@ buildvariants:
579616 << : *libpath_msvc2013
580617 << : *extrapath
581618 << : *cpppath_boost_1_56_0
619+ << : *mongo_orchestration_windows
582620 extension : " .exe"
583621 scons : scons.bat
584622 run_on :
0 commit comments