#language: cpp # This makes travis use the thin image which boots faster language: generic # sudo:required is needed for trusty images sudo: required dist: trusty notifications: email: false branches: only: - master - develop matrix: fast_finish: true include: # Debug Builds - 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', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] env: COMPILER='g++-5' BUILD_TYPE='Debug' - 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', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] env: COMPILER='g++-4.8' BUILD_TYPE='Debug' - os: linux compiler: clang addons: &clang38 apt: sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test'] packages: ['clang-3.8', 'libbz2-dev', 'libstxxl-dev', 'libstxxl1', 'libxml2-dev', 'libzip-dev', 'lua5.1', 'liblua5.1-0-dev', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] env: COMPILER='clang++-3.8' BUILD_TYPE='Debug' RUN_CLANG_FORMAT=ON - os: osx osx_image: xcode7.3 compiler: clang env: COMPILER='clang++' BUILD_TYPE='Debug' # Release Builds - 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', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] env: COMPILER='g++-5' BUILD_TYPE='Release' - 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', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] env: COMPILER='g++-4.8' BUILD_TYPE='Release' - os: linux compiler: clang addons: &clang38 apt: sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test'] packages: ['clang-3.8', 'libbz2-dev', 'libstxxl-dev', 'libstxxl1', 'libxml2-dev', 'libzip-dev', 'lua5.1', 'liblua5.1-0-dev', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] env: COMPILER='clang++-3.8' BUILD_TYPE='Release' - os: osx osx_image: xcode7.3 compiler: clang env: COMPILER='clang++' BUILD_TYPE='Release' # Shared Library - 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', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] env: COMPILER='g++-5' BUILD_TYPE='Release' BUILD_SHARED_LIBS=ON - os: linux compiler: clang addons: &clang38 apt: sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test'] packages: ['clang-3.8', 'libbz2-dev', 'libstxxl-dev', 'libstxxl1', 'libxml2-dev', 'libzip-dev', 'lua5.1', 'liblua5.1-0-dev', 'libtbb-dev', 'libgdal-dev', 'libluabind-dev', 'libboost-all-dev'] env: COMPILER='clang++-3.8' BUILD_TYPE='Release' BUILD_SHARED_LIBS=ON # 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: xcode6.4 # compiler: clang # env: COMPILER='clang++' BUILD_TYPE='Release' BUILD_SHARED_LIBS=ON #- os: osx # osx_image: xcode7 # compiler: clang # env: COMPILER='clang++' BUILD_TYPE='Release' BUILD_SHARED_LIBS=ON before_install: - source ./scripts/install_node.sh 4 install: - npm install - DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" - mkdir -p ${DEPS_DIR} && cd ${DEPS_DIR} - | if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then CMAKE_URL="http://www.cmake.org/files/v3.5/cmake-3.5.1-Linux-x86_64.tar.gz" mkdir cmake && travis_retry wget --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake export PATH=${DEPS_DIR}/cmake/bin:${PATH} elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then # implicit deps, but seem to be installed by default with recent images: libxml2 GDAL boost brew install cmake libzip libstxxl lua51 luabind tbb md5sha1sum fi before_script: - cd ${TRAVIS_BUILD_DIR} - | if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then ./scripts/check_taginfo.py taginfo.json profiles/car.lua fi - mkdir build && pushd build - export CXX=${COMPILER} - export OSRM_PORT=5000 OSRM_TIMEOUT=6000 - cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS:-OFF} -DBUILD_TOOLS=1 -DENABLE_CCACHE=0 script: - make --jobs=2 - make tests --jobs=2 - make benchmarks - sudo make install - | if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then sudo ldconfig fi - ./extractor-tests - ./engine-tests - ./util-tests - popd - npm test - make -C test/data benchmark - ./build/library-tests test/data/monaco.osrm - mkdir example/build && pushd example/build - cmake .. - make - ./osrm-example ../../test/data/monaco.osrm - popd - | if [ -n "$RUN_CLANG_FORMAT" ]; then ./scripts/format.sh || true # we don't want to fail just yet fi