diff --git a/.travis.yml b/.travis.yml
index eb4e700b1..b641c1158 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,9 +2,9 @@ language: cpp
os:
- linux
+ - osx
compiler:
- - gcc
- clang
env:
@@ -17,28 +17,25 @@ env:
- secure: "RiBIBfVhhaMjU5ksuwJO3shdvG9FpinBjdSv4co9jg9171SR8edNriedHjVKSIeBhSGNmZmX+twS3dJS/By6tl/LKh9sTynA+ZAYYljkE7jn881B/gMrlYvdAA6og5KvkhV1/0iJWlhuZrMTkhpDR200iLgg3EWBhWjltzmDW/I="
before_install:
-- ./scripts/setup_travis.sh
- source ./scripts/flags.sh
+- ./scripts/travis_before_install.sh
install:
- make setup
-- npm install git+https://github.com/mapbox/mapbox-gl-test-suite.git
+- ./scripts/travis_install.sh
before_script:
- rm -rf mapnik-packaging/out/packages
script:
-- make linux -j4 BUILDTYPE=${BUILDTYPE}
-- make test -j4 BUILDTYPE=${BUILDTYPE}
-- ./scripts/run_tests.sh
-- (cd ./node_modules/mapbox-gl-test-suite/ && (./bin/compare_images.js; ./bin/deploy_results.sh))
+- ./scripts/travis_script.sh
notifications:
hipchat:
rooms:
secure: "SgMjGDp8MP+UTAY/aWJwSQH2hv1Q0vhEc1BdIde59+lEL3u6gNMSexUTSJoVxRlIQTFXDJBU7v58ISdgJX8cPa+UvIC8hhLsayM+cbm+J3jgy7V9E9wllq3RpmXN33TxY7nwKgWdIms2t9YKZco3y4dKKAUyHXrtMvw8NNPQM+4="
template:
- - 'Build #%{build_number}: %{author} tested %{commit} in branch %{branch} of %{repository_name}: %{commit_message}
%{message} (%{duration}) - Compare: 1 2 3 4'
+ - 'Build #%{build_number}: %{author} tested %{commit} in branch %{branch} of %{repository_name}: %{commit_message}
%{message} (%{duration})'
format: html
git:
diff --git a/Makefile b/Makefile
index efc2385ce..fe44e914d 100644
--- a/Makefile
+++ b/Makefile
@@ -73,8 +73,10 @@ clear_xcode_cache:
fi
# build Mac OS X project for Xcode
-xproj: config.gypi macosx/mapboxgl-app.gyp clear_xcode_cache node
+xproj-cli: config.gypi macosx/mapboxgl-app.gyp clear_xcode_cache node
deps/run_gyp macosx/mapboxgl-app.gyp --depth=. --generator-output=./build -f xcode
+
+xproj: xproj-cli
open ./build/macosx/mapboxgl-app.xcodeproj
# build iOS project for Xcode
diff --git a/ios/mapbox-gl-cocoa b/ios/mapbox-gl-cocoa
index 8bbcc8e79..b237437ef 160000
--- a/ios/mapbox-gl-cocoa
+++ b/ios/mapbox-gl-cocoa
@@ -1 +1 @@
-Subproject commit 8bbcc8e79dfec5654371ab1d2fac50f56d812f99
+Subproject commit b237437ef04b59d5bde59f7e06d3ec4a6481b197
diff --git a/scripts/flags.sh b/scripts/flags.sh
old mode 100644
new mode 100755
diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh
deleted file mode 100755
index 716594824..000000000
--- a/scripts/run_tests.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -o pipefail
-
-cd build/Testing
-
-for TEST in ./test_* ; do
- ${TEST}
-done
diff --git a/scripts/setup_travis.sh b/scripts/travis_before_install.sh
similarity index 61%
rename from scripts/setup_travis.sh
rename to scripts/travis_before_install.sh
index 128f6bbf7..b6c5339b2 100755
--- a/scripts/setup_travis.sh
+++ b/scripts/travis_before_install.sh
@@ -1,19 +1,23 @@
#!/usr/bin/env bash
-set -e
-set -o pipefail
-
if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then
-
+ #
+ # install Linux dependencies
+ #
if [[ `lsb_release -r` =~ "12.04" ]]; then
sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test
fi
sudo apt-get update -y
sudo apt-get -y install gcc-4.8 g++-4.8
- sudo apt-get -y install git build-essential zlib1g-dev automake libtool xutils-dev make cmake pkg-config python-pip
- sudo apt-get -y install libxi-dev libglu1-mesa-dev x11proto-randr-dev x11proto-xext-dev libxrandr-dev x11proto-xf86vidmode-dev libxxf86vm-dev libxcursor-dev
-
+ sudo apt-get -y install git build-essential zlib1g-dev automake \
+ libtool xutils-dev make cmake pkg-config python-pip
+ sudo apt-get -y install libxi-dev libglu1-mesa-dev x11proto-randr-dev \
+ x11proto-xext-dev libxrandr-dev \
+ x11proto-xf86vidmode-dev libxxf86vm-dev libxcursor-dev
sudo pip install awscli
elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then
+ #
+ # install OS X dependencies
+ #
brew install autoconf automake libtool makedepend cmake pkg-config node git
fi
diff --git a/scripts/travis_install.sh b/scripts/travis_install.sh
new file mode 100755
index 000000000..eca24e719
--- /dev/null
+++ b/scripts/travis_install.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then
+ #
+ # we'll need the test suite on Linux
+ #
+ npm install git+https://github.com/mapbox/mapbox-gl-test-suite.git
+fi
diff --git a/scripts/travis_script.sh b/scripts/travis_script.sh
new file mode 100755
index 000000000..812708383
--- /dev/null
+++ b/scripts/travis_script.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+
+if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then
+ #
+ # build & test Linux
+ #
+ make linux -j4 BUILDTYPE=${BUILDTYPE}
+ make test -j4 BUILDTYPE=${BUILDTYPE}
+ cd build/Testing
+ for TEST in ./test_* ; do
+ ${TEST}
+ done
+ cd ../..
+ (cd ./node_modules/mapbox-gl-test-suite/ && (./bin/compare_images.js; ./bin/deploy_results.sh))
+elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then
+ #
+ # build OS X
+ #
+ make xproj-cli
+ xcodebuild -project ./build/macosx/mapboxgl-app.xcodeproj
+ #
+ # build iOS
+ #
+ git clone --depth 1 https://github.com/mapbox/mapbox-gl-cocoa ios/mapbox-gl-cocoa
+ make iproj-cli
+ xcodebuild -project ./build/ios/mapbox-gl-cocoa/app/mapboxgl-app.xcodeproj -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO
+fi