Skip to content

Commit 5621b0b

Browse files
Add OS X buildvariant
1 parent 764709d commit 5621b0b

File tree

1 file changed

+85
-47
lines changed

1 file changed

+85
-47
lines changed

.mci.yml

Lines changed: 85 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)