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