Switch Travis builds over to trusty for Linux (simpler dependency installs), build
with mutliple compilers, fix debug builds. OSX builds are disabled until we fix #1778
This commit is contained in:
		
							parent
							
								
									a62c10321c
								
							
						
					
					
						commit
						963960a44c
					
				
							
								
								
									
										215
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										215
									
								
								.travis.yml
									
									
									
									
									
								
							| @ -1,63 +1,176 @@ | |||||||
| language: cpp | language: cpp | ||||||
| compiler: | sudo: required | ||||||
|   - gcc | dist: trusty | ||||||
| #  - clang | 
 | ||||||
| # Make sure CMake is installed | notifications: | ||||||
|  |   email: false | ||||||
|  | 
 | ||||||
|  | branches: | ||||||
|  |   only: | ||||||
|  |     - master | ||||||
|  |     - develop | ||||||
|  | 
 | ||||||
|  | matrix: | ||||||
|  |   include: | ||||||
|  | 
 | ||||||
|  |     # 1/ Linux Clang Builds | ||||||
|  |     - os: linux | ||||||
|  |       compiler: clang | ||||||
|  |       addons: &clang35 | ||||||
|  |         apt: | ||||||
|  |           sources: ['llvm-toolchain-precise-3.5', 'ubuntu-toolchain-r-test'] | ||||||
|  |           packages: ['clang-3.5', 'libbz2-dev', 'libstxxl-dev', 'libstxxl1', 'libxml2-dev', 'libzip-dev', 'lua5.1', 'liblua5.1-0-dev', 'rubygems-integration', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] | ||||||
|  | 
 | ||||||
|  |       env: COMPILER='clang++-3.5' BUILD_TYPE='Release' | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: clang | ||||||
|  |       addons: *clang35 | ||||||
|  |       env: COMPILER='clang++-3.5' BUILD_TYPE='Debug' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: clang | ||||||
|  |       addons: &clang36 | ||||||
|  |         apt: | ||||||
|  |           sources: ['llvm-toolchain-precise-3.6', 'ubuntu-toolchain-r-test'] | ||||||
|  |           packages: ['clang-3.6', 'libbz2-dev', 'libstxxl-dev', 'libstxxl1', 'libxml2-dev', 'libzip-dev', 'lua5.1', 'liblua5.1-0-dev', 'rubygems-integration', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] | ||||||
|  |       env: COMPILER='clang++-3.6' BUILD_TYPE='Release' | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: clang | ||||||
|  |       addons: *clang36 | ||||||
|  |       env: COMPILER='clang++-3.6' BUILD_TYPE='Debug' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: clang | ||||||
|  |       addons: &clang37 | ||||||
|  |         apt: | ||||||
|  |           sources: ['llvm-toolchain-precise-3.7', 'ubuntu-toolchain-r-test'] | ||||||
|  |           packages: ['clang-3.7', 'libbz2-dev', 'libstxxl-dev', 'libstxxl1', 'libxml2-dev', 'libzip-dev', 'lua5.1', 'liblua5.1-0-dev', 'rubygems-integration', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] | ||||||
|  |       env: COMPILER='clang++-3.7' BUILD_TYPE='Release' | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: clang | ||||||
|  |       addons: *clang37 | ||||||
|  |       env: COMPILER='clang++-3.7' BUILD_TYPE='Debug' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: clang | ||||||
|  |       addons: &clang38 | ||||||
|  |         apt: | ||||||
|  |           sources: ['llvm-toolchain-precise', 'ubuntu-toolchain-r-test'] | ||||||
|  |           packages: ['clang-3.8', 'libbz2-dev', 'libstxxl-dev', 'libstxxl1', 'libxml2-dev', 'libzip-dev', 'lua5.1', 'liblua5.1-0-dev', 'rubygems-integration', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] | ||||||
|  |       env: COMPILER='clang++-3.8' BUILD_TYPE='Release' | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: clang | ||||||
|  |       addons: *clang38 | ||||||
|  |       env: COMPILER='clang++-3.8' BUILD_TYPE='Debug' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     # 2/ Linux GCC Builds | ||||||
|  |     - os: linux | ||||||
|  |       compiler: gcc | ||||||
|  |       addons: &gcc48 | ||||||
|  |         apt: | ||||||
|  |           sources: ['ubuntu-toolchain-r-test'] | ||||||
|  |           packages: ['g++-4.8', 'libbz2-dev', 'libstxxl-dev', 'libstxxl1', 'libxml2-dev', 'libzip-dev', 'lua5.1', 'liblua5.1-0-dev', 'rubygems-integration', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] | ||||||
|  |       env: COMPILER='g++-4.8' BUILD_TYPE='Release' | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: gcc | ||||||
|  |       addons: *gcc48 | ||||||
|  |       env: COMPILER='g++-4.8' BUILD_TYPE='Debug' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: gcc | ||||||
|  |       addons: &gcc49 | ||||||
|  |         apt: | ||||||
|  |           sources: ['ubuntu-toolchain-r-test'] | ||||||
|  |           packages: ['g++-4.9', 'libbz2-dev', 'libstxxl-dev', 'libstxxl1', 'libxml2-dev', 'libzip-dev', 'lua5.1', 'liblua5.1-0-dev', 'rubygems-integration', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] | ||||||
|  |       env: COMPILER='g++-4.9' BUILD_TYPE='Release' | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: gcc | ||||||
|  |       addons: *gcc49 | ||||||
|  |       env: COMPILER='g++-4.9' BUILD_TYPE='Debug' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: gcc | ||||||
|  |       addons: &gcc5 | ||||||
|  |         apt: | ||||||
|  |           sources: ['ubuntu-toolchain-r-test'] | ||||||
|  |           packages: ['g++-5', 'libbz2-dev', 'libstxxl-dev', 'libstxxl1', 'libxml2-dev', 'libzip-dev', 'lua5.1', 'liblua5.1-0-dev', 'rubygems-integration', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] | ||||||
|  |       env: COMPILER='g++-5' BUILD_TYPE='Release' | ||||||
|  | 
 | ||||||
|  |     - os: linux | ||||||
|  |       compiler: gcc | ||||||
|  |       addons: *gcc5 | ||||||
|  |       env: COMPILER='g++-5' BUILD_TYPE='Debug' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     # Disabled until tests all pass on OSX: | ||||||
|  |     # | ||||||
|  |     # 3/ OSX Clang Builds | ||||||
|  |     #- os: osx | ||||||
|  |     #  osx_image: xcode6.4 | ||||||
|  |     #  compiler: clang | ||||||
|  |     #  env: COMPILER='clang++' BUILD_TYPE='Debug' | ||||||
|  | 
 | ||||||
|  |     #- os: osx | ||||||
|  |     #  osx_image: xcode6.4 | ||||||
|  |     #  compiler: clang | ||||||
|  |     #  env: COMPILER='clang++' BUILD_TYPE='Release' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     #- os: osx | ||||||
|  |     #  osx_image: xcode7 | ||||||
|  |     #  compiler: clang | ||||||
|  |     #  env: COMPILER='clang++' BUILD_TYPE='Debug' | ||||||
|  | 
 | ||||||
|  |     #- os: osx | ||||||
|  |     #  osx_image: xcode7 | ||||||
|  |     #  compiler: clang | ||||||
|  |     #  env: COMPILER='clang++' BUILD_TYPE='Release' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| install: | install: | ||||||
|  - sudo apt-add-repository -y ppa:ubuntu-toolchain-r/test |   - DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" | ||||||
|  - sudo add-apt-repository -y ppa:boost-latest/ppa |   - mkdir -p ${DEPS_DIR} && cd ${DEPS_DIR} | ||||||
|  - sudo apt-get update >/dev/null |   - | | ||||||
|  - sudo apt-get -q install libbz2-dev libstxxl-dev libstxxl1 libxml2-dev libzip-dev lua5.1 liblua5.1-0-dev rubygems libtbb-dev |     if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then | ||||||
|  - sudo apt-get -q install g++-4.8 |       CMAKE_URL="http://www.cmake.org/files/v3.3/cmake-3.3.2-Linux-x86_64.tar.gz" | ||||||
|  - sudo apt-get install libboost1.54-all-dev |       mkdir cmake && travis_retry wget --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake | ||||||
|  - sudo apt-get install libgdal-dev |       export PATH=${DEPS_DIR}/cmake/bin:${PATH} | ||||||
|  # luabind | 
 | ||||||
|  - curl https://gist.githubusercontent.com/DennisOSRM/f2eb7b948e6fe1ae319e/raw/install-luabind.sh | sudo bash |       OSMOSIS_URL="http://bretth.dev.openstreetmap.org/osmosis-build/osmosis-latest.tgz" | ||||||
|  # osmosis |       mkdir osmosis && travis_retry wget --quiet -O - ${OSMOSIS_URL} | tar -xz -C osmosis | ||||||
|  - curl -s https://gist.githubusercontent.com/DennisOSRM/803a64a9178ec375069f/raw/ | sudo bash |       export PATH=${DEPS_DIR}/osmosis/bin:${PATH} | ||||||
|  # cmake | 
 | ||||||
|  - curl -s https://gist.githubusercontent.com/DennisOSRM/5fad9bee5c7f09fd7fc9/raw/ | sudo bash |     elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then | ||||||
|  |       brew install cmake boost libzip libstxxl libxml2 lua51 luabind tbb GDAL osmosis | ||||||
|  |     fi | ||||||
|  | 
 | ||||||
| before_script: | before_script: | ||||||
|  |   - cd ${TRAVIS_BUILD_DIR} | ||||||
|   - rvm use 1.9.3 |   - rvm use 1.9.3 | ||||||
|   - gem install bundler |   - gem install bundler | ||||||
|   - bundle install |   - bundle install | ||||||
|  - mkdir build |   - mkdir build && cd build | ||||||
|  - cd build |   - export CXX=${COMPILER} | ||||||
|  - cmake .. $CMAKEOPTIONS -DBUILD_TOOLS=1 |   - export OSRM_PORT=5000 OSRM_TIMEOUT=60 | ||||||
|  |   - cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_TOOLS=1 | ||||||
|  | 
 | ||||||
| script: | script: | ||||||
|  - make |   - make --jobs=2 | ||||||
|  - make tests |   - make tests --jobs=2 | ||||||
|   - make benchmarks |   - make benchmarks | ||||||
|   - ./algorithm-tests |   - ./algorithm-tests | ||||||
|   - ./datastructure-tests |   - ./datastructure-tests | ||||||
|   - cd .. |   - cd .. | ||||||
|   - cucumber -p verify |   - cucumber -p verify | ||||||
| after_script: |  | ||||||
| # - cd .. |  | ||||||
| # - cucumber -p verify |  | ||||||
| branches: |  | ||||||
|   only: |  | ||||||
|     - master |  | ||||||
|     - develop |  | ||||||
| cache: |  | ||||||
| - bundler |  | ||||||
| - apt |  | ||||||
| env: |  | ||||||
|  - CMAKEOPTIONS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-4.8" OSRM_PORT=5000 OSRM_TIMEOUT=60 |  | ||||||
|  - CMAKEOPTIONS="-DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++-4.8" OSRM_PORT=5010 OSRM_TIMEOUT=60 |  | ||||||
|  - CMAKEOPTIONS="-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_CXX_COMPILER=g++-4.8" OSRM_PORT=5020 OSRM_TIMEOUT=60 |  | ||||||
| notifications: |  | ||||||
|  slack: mapbox:4A6euphDwfxAQnhLurXbu6A1 |  | ||||||
|  irc: |  | ||||||
|   channels: |  | ||||||
|     - irc.oftc.net#osrm |  | ||||||
|   on_success: change |  | ||||||
|   on_failure: always |  | ||||||
|   use_notice: true |  | ||||||
|   skip_join: false |  | ||||||
| 
 |  | ||||||
|   recipients: |  | ||||||
|     - patrick@mapbox.com |  | ||||||
|   email: |  | ||||||
|     on_success: change |  | ||||||
|     on_failure: always |  | ||||||
|  | |||||||
| @ -248,8 +248,7 @@ if(UNIX AND NOT APPLE) | |||||||
| endif() | endif() | ||||||
| 
 | 
 | ||||||
| #Check Boost | #Check Boost | ||||||
| set(BOOST_MIN_VERSION "1.49.0") | find_package(Boost 1.49.0 COMPONENTS ${BOOST_COMPONENTS} REQUIRED) | ||||||
| find_package(Boost ${BOOST_MIN_VERSION} COMPONENTS ${BOOST_COMPONENTS} REQUIRED) |  | ||||||
| if(NOT Boost_FOUND) | if(NOT Boost_FOUND) | ||||||
|   message(FATAL_ERROR "Fatal error: Boost (version >= 1.49.0) required.\n") |   message(FATAL_ERROR "Fatal error: Boost (version >= 1.49.0) required.\n") | ||||||
| endif() | endif() | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user