summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morrow <acm@mongodb.com>2017-06-22 15:33:32 -0400
committerAndrew Morrow <acm@mongodb.com>2017-06-26 10:37:34 -0400
commitb798e8d10ee53e1448a6ef0542d9d022037d2ea7 (patch)
treed043d339b8c26dbe2b1968c71069a091c7394120
parentfc752b3b94b5d821e5f1861c05c27c8a5dc550cd (diff)
downloadmongo-b798e8d10ee53e1448a6ef0542d9d022037d2ea7.tar.gz
SERVER-29726 Build iOS and tvOS on evergreen
-rw-r--r--etc/evergreen.yml74
-rw-r--r--src/mongo/SConscript3
-rw-r--r--src/mongo/scripting/SConscript1
-rw-r--r--src/mongo/scripting/scripting_none.cpp29
4 files changed, 106 insertions, 1 deletions
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index c663cb7f9bb..6224b4ba4f2 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -1526,6 +1526,32 @@ tasks:
# because it should be the same everywhere, so just use linux-64/windows-64-2k8.
build_variants: [ linux-64, windows-64-2k8-ssl ]
+
+## compile_all_notest - build all scons targets including unittests, but run no tests
+- name: compile_all_notest
+ commands:
+ - command: manifest.load
+ - *git_get_project
+ - func: "get buildnumber"
+ - func: "setup credentials"
+ - func: "build new tools" # noop if ${newtools} is not "true"
+ - func: "build rocksdb" # noop if ${build_rocksdb} is not "true"
+ - *generate_compile_expansions
+ # Then we load the generated version data into the agent so we can use it in task definitions.
+ - *apply_compile_expansions
+
+ - command: shell.exec
+ type: test
+ params:
+ working_dir: src
+ script: |
+ set -o errexit
+ set -o verbose
+
+ rm -rf ${install_directory|/data/mongo-install-directory}
+
+ ${compile_env|} ${python|/opt/mongodbtoolchain/v2/bin/python2} ./buildscripts/scons.py ${compile_flags|} ${scons_cache_args|} --use-new-tools --build-mongoreplay="${build_mongoreplay}" all ${additional_targets|} MONGO_VERSION=${version}
+
## compile_all - build all scons targets including unittests ##
- name: compile_all
depends_on: compile
@@ -5727,6 +5753,54 @@ buildvariants:
distros:
- rhel70-small
+- name: ios-102-debug
+ display_name: "iOS 10.2 DEBUG"
+ run_on:
+ - macos-1012
+ batchtime: 1440 # 1 day
+ expansions:
+ compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app
+ compile_flags: -j$(sysctl -n hw.logicalcpu) --dbg=on --disable-warnings-as-errors --js-engine=none --variables-files=etc/scons/xcode_ios.vars all
+ python: python2.7
+ tasks:
+ - name: compile_all_notest
+
+- name: ios-sim-102-debug
+ display_name: "iOS Simulator 10.2 DEBUG"
+ run_on:
+ - macos-1012
+ batchtime: 1440 # 1 day
+ expansions:
+ compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app
+ compile_flags: -j$(sysctl -n hw.logicalcpu) --dbg=on --disable-warnings-as-errors --js-engine=none --variables-files=etc/scons/xcode_ios_sim.vars all
+ python: python2.7
+ tasks:
+ - name: compile_all_notest
+
+- name: tvos-101-debug
+ display_name: "tvOS 10.1 DEBUG"
+ run_on:
+ - macos-1012
+ batchtime: 1440 # 1 day
+ expansions:
+ compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app
+ compile_flags: -j$(sysctl -n hw.logicalcpu) --dbg=on --disable-warnings-as-errors --js-engine=none --variables-files=etc/scons/xcode_tvos.vars all
+ python: python2.7
+ tasks:
+ - name: compile_all_notest
+
+- name: tvos-sim-101-debug
+ display_name: "tvOS Simulator 10.1 DEBUG"
+ run_on:
+ - macos-1012
+ batchtime: 1440 # 1 day
+ expansions:
+ compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app
+ compile_flags: -j$(sysctl -n hw.logicalcpu) --dbg=on --disable-warnings-as-errors --js-engine=none --variables-files=etc/scons/xcode_tvos_sim.vars all
+ python: python2.7
+ tasks:
+ - name: compile_all_notest
+
###########################################
# Redhat buildvariants #
###########################################
diff --git a/src/mongo/SConscript b/src/mongo/SConscript
index 425de7145c8..e57c3ae501b 100644
--- a/src/mongo/SConscript
+++ b/src/mongo/SConscript
@@ -539,8 +539,9 @@ installBinary( env, "mongos" )
if shellEnv is not None:
installBinary( shellEnv, "mongo" )
+ env.Alias( "core", [ '#/%s' % b for b in [ add_exe( "mongo" ) ] ] )
-env.Alias( "core", [ '#/%s' % b for b in [ add_exe( "mongo" ), add_exe( "mongod" ), add_exe( "mongos" ) ] ] )
+env.Alias( "core", [ '#/%s' % b for b in [ add_exe( "mongod" ), add_exe( "mongos" ) ] ] )
# Stage the top-level mongodb banners
distsrc = env.Dir('#distsrc')
diff --git a/src/mongo/scripting/SConscript b/src/mongo/scripting/SConscript
index 42972531d6f..b6d940db845 100644
--- a/src/mongo/scripting/SConscript
+++ b/src/mongo/scripting/SConscript
@@ -156,6 +156,7 @@ else:
env.Library(
target='scripting',
source=[
+ 'scripting_none.cpp'
],
LIBDEPS=[
'scripting_none',
diff --git a/src/mongo/scripting/scripting_none.cpp b/src/mongo/scripting/scripting_none.cpp
new file mode 100644
index 00000000000..a29e6fd4a47
--- /dev/null
+++ b/src/mongo/scripting/scripting_none.cpp
@@ -0,0 +1,29 @@
+/**
+* Copyright (C) 2017 MongoDB Inc.
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Affero General Public License, version 3,
+* as published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Affero General Public License for more details.
+*
+* You should have received a copy of the GNU Affero General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+* As a special exception, the copyright holders give permission to link the
+* code of portions of this program with the OpenSSL library under certain
+* conditions as described in each individual source file and distribute
+* linked combinations including the program with the OpenSSL library. You
+* must comply with the GNU Affero General Public License in all respects for
+* all of the code used other than as permitted herein. If you modify file(s)
+* with this exception, you may extend this exception to your version of the
+* file(s), but you are not obligated to do so. If you do not wish to do so,
+* delete this exception statement from your version. If you delete this
+* exception statement from all source files in the program, then also delete
+* it in the license file.
+*/
+
+// This file intentionally left blank.