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