diff options
author | Andrew Morrow <acm@mongodb.com> | 2017-06-22 15:33:32 -0400 |
---|---|---|
committer | Andrew Morrow <acm@mongodb.com> | 2017-06-26 10:37:34 -0400 |
commit | b798e8d10ee53e1448a6ef0542d9d022037d2ea7 (patch) | |
tree | d043d339b8c26dbe2b1968c71069a091c7394120 | |
parent | fc752b3b94b5d821e5f1861c05c27c8a5dc550cd (diff) | |
download | mongo-b798e8d10ee53e1448a6ef0542d9d022037d2ea7.tar.gz |
SERVER-29726 Build iOS and tvOS on evergreen
-rw-r--r-- | etc/evergreen.yml | 74 | ||||
-rw-r--r-- | src/mongo/SConscript | 3 | ||||
-rw-r--r-- | src/mongo/scripting/SConscript | 1 | ||||
-rw-r--r-- | src/mongo/scripting/scripting_none.cpp | 29 |
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. |