aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Thomas Van Lenten <thomasvl@google.com>2015-06-10 17:21:23 -0400
committerGravatar Thomas Van Lenten <thomasvl@google.com>2015-11-09 10:54:32 -0500
commit9642b821f2b79df9f44e4124318c23dd8addb82e (patch)
tree7f0699fe5309b9d5ee2d257d79f97a90377c6132
parent64aa954daec2f6f2df460f9bcc1e2ca6ba42b640 (diff)
Add ObjC build to travis setup
- Add objc for iOS and OS X builds to travis configs. - Update handing of python install to deal with newer OS X versions.
-rw-r--r--.travis.yml13
-rwxr-xr-xtravis.sh22
2 files changed, 34 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index 4edf3b30..7be0d18e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,6 +7,8 @@ language: cpp
os:
- linux
- osx
+# The Objective C build needs Xcode 6.4 or later.
+osx_image: xcode7.1
script:
- ./travis.sh $CONFIG
env:
@@ -46,11 +48,22 @@ matrix:
# which doesn't work on OS X.
- os: osx
env: CONFIG=csharp
+ # Add into the matrix OS X tests of Objective C (needs Xcode, so it won't
+ # work on other platforms). These are split so it doesn't take as long to run.
+ include:
+ - os: osx
+ env: CONFIG=objectivec_ios
+ - os: osx
+ env: CONFIG=objectivec_osx
allow_failures:
# These currently do not work on OS X but are being worked on by @haberman.
- os: osx
env: CONFIG=ruby22
- os: osx
env: CONFIG=jruby
+ # Travis seems be flaky in letting the iOS simulator launch, so keep that
+ # flake from failing builds by marking that build as an allowed failure.
+ - os: osx
+ env: CONFIG=objectivec_ios
notifications:
email: false
diff --git a/travis.sh b/travis.sh
index 435e7e75..3f281e7a 100755
--- a/travis.sh
+++ b/travis.sh
@@ -112,7 +112,12 @@ build_javanano_oracle7() {
}
internal_install_python_deps() {
- sudo pip install tox
+ # Install tox (OS X doesn't have pip).
+ if [ $(uname -s) == "Darwin" ]; then
+ sudo easy_install tox
+ else
+ sudo pip install tox
+ fi
# Only install Python2.6/3.x on Linux.
if [ $(uname -s) == "Linux" ]; then
sudo apt-get install -y python-software-properties # for apt-add-repository
@@ -124,6 +129,19 @@ internal_install_python_deps() {
fi
}
+build_objectivec_common () {
+ # Reused the build script that takes care of configure and then Xcode
+ # builds/tests.
+ objectivec/DevTools/full_mac_build.sh --core-only "$@"
+}
+
+build_objectivec_ios() {
+ build_objectivec_common --skip-xcode-osx
+}
+
+build_objectivec_osx() {
+ build_objectivec_common --skip-xcode-ios
+}
build_python() {
internal_build_cpp
@@ -189,6 +207,8 @@ Usage: $0 { cpp |
javanano_jdk6 |
javanano_jdk7 |
javanano_oracle7 |
+ objectivec_ios |
+ objectivec_osx |
python |
python_cpp |
ruby_19 |