git: submodules: false # Save common build configurations as shortcuts, so we can reference them later. addons_shortcuts: addons_clang35: &clang35 apt: sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ] packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6', 'libllvm3.4', 'cmake', 'cmake-data', 'mesa-utils', 'libxi-dev', 'libglu1-mesa-dev', 'x11proto-randr-dev', 'x11proto-xext-dev', 'libxrandr-dev', 'x11proto-xf86vidmode-dev', 'libxxf86vm-dev', 'libxcursor-dev', 'libxinerama-dev' ] addons_gcc5: &gcc5 apt: sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ] packages: [ 'gdb', 'g++-5', 'gcc-5', 'cmake', 'cmake-data', 'mesa-utils', 'libxi-dev', 'libglu1-mesa-dev', 'x11proto-randr-dev', 'x11proto-xext-dev', 'libxrandr-dev', 'x11proto-xf86vidmode-dev', 'libxxf86vm-dev', 'libxcursor-dev', 'libxinerama-dev' ] addons_qt4: &qt4 apt: sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ] packages: [ 'g++-5', 'gcc-5', 'libjemalloc-dev', 'cmake', 'cmake-data', 'mesa-utils', 'qt4-default' ] addons_qt5: &qt5 apt: sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ] packages: [ 'g++-5', 'gcc-5', 'cmake', 'cmake-data', 'mesa-utils', 'libc6-dbg', 'qt5-default', 'libqt5opengl5-dev', 'qtdeclarative5-dev', 'qtpositioning5-dev', 'qtlocation5-dev' ] env: global: - TERM: dumb - CCACHE: 1 - CCACHE_MAXSIZE: 384M # AWS - secure: "MZHblLZXG/jWf2w0ZFlxCLDwx2qtGgRDODQyg1BR7JIuMz6AtWv8XR/sUczWLbiABCL0a/NzJF1g4v2pI7X69IntcjOdIABBgTh7++6+1TJ0Kp8viEltb55nQG3lHy/R6fOaI7Pj9tuCX0PCRtGA5C/fGnodLGEjy3RVOJ09ln0=" - secure: "KaSQbhgjtV7ZCkesHmvrNsbQVjk5SPfGKB1VkWenRGYhLF45HpSRNwSxMQddZ566Pg7qIFgF1iWl/B0QW3B6AWL5WmzQ5AOJgwS876pNIc/UT7ubMPtgAtjpvw1bQvQP3B8MrB+3OE5c6tD+a3LhR9krV//dOsfErR5Yy+3Mbkc=" # Access Token - secure: "RiBIBfVhhaMjU5ksuwJO3shdvG9FpinBjdSv4co9jg9171SR8edNriedHjVKSIeBhSGNmZmX+twS3dJS/By6tl/LKh9sTynA+ZAYYljkE7jn881B/gMrlYvdAA6og5KvkhV1/0iJWlhuZrMTkhpDR200iLgg3EWBhWjltzmDW/I=" install: - source ./scripts/travis_helper.sh - source ./scripts/travis_setup.sh before_script: - ccache --zero-stats - cmake --version script: - make linux - make benchmark - make test - make run-test after_script: - ccache --show-stats - ./platform/linux/scripts/after_script.sh ${TRAVIS_JOB_NUMBER} matrix: include: # Clang 3.5 - Debug - Node - os: linux sudo: required dist: trusty language: node compiler: "node4-clang35-debug" env: _CXX=clang++-3.5 _CC=clang-3.5 addons: *clang35 before_script: - export PACKAGE_JSON_VERSION=$(node -e "console.log(require('./package.json').version)") - export PUBLISH=$([[ "${TRAVIS_TAG:-}" == "node-v${PACKAGE_JSON_VERSION}" ]] && echo true) - export BUILDTYPE=$([[ -n ${PUBLISH:-} ]] && echo "Release" || echo "Debug") script: - nvm install 4 - nvm use 4 - make node - if [[ -z ${PUBLISH} ]]; then make test-node; fi after_script: - ccache --show-stats - ./platform/node/scripts/after_script.sh ${TRAVIS_JOB_NUMBER} # GCC 5 - Debug - Coverage - os: linux sudo: false language: cpp compiler: "glfw-gcc5-debug" env: BUILDTYPE=Debug _CXX=g++-5 _CC=gcc-5 WITH_COVERAGE=1 addons: *gcc5 after_script: - ccache --show-stats - ./platform/linux/scripts/coveralls.sh # GCC 5 - Release - os: linux sudo: false language: cpp compiler: "glfw-gcc5-release" env: BUILDTYPE=Release _CXX=g++-5 _CC=gcc-5 addons: *gcc5 # Clang 3.5 - Debug - os: linux sudo: required dist: trusty language: cpp compiler: "glfw-clang35-debug" env: BUILDTYPE=Debug _CXX=clang++-3.5 _CC=clang-3.5 addons: *clang35 # Clang 3.5 - Release - os: linux sudo: required dist: trusty language: cpp compiler: "glfw-clang35-release" env: BUILDTYPE=Release _CXX=clang++-3.5 _CC=clang-3.5 addons: *clang35 # Clang 3.5 - tidy - os: linux sudo: required dist: trusty language: cpp compiler: "tidy-clang35-release" env: BUILDTYPE=Release _CXX=clang++-3.5 _CC=clang-3.5 addons: *clang35 script: - make tidy # Qt 4 - Release - os: linux sudo: required dist: trusty language: cpp compiler: "qt4-gcc5-release" env: BUILDTYPE=Release _CXX=g++-5 _CC=gcc-5 WITH_QT_4=1 addons: *qt4 script: - make qt-app - LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so make run-qt-test-Memory.*:*.Load # Qt 5 - Release - os: linux sudo: required dist: trusty language: cpp compiler: "qt5-gcc5-release" # Qt 5 gets confused with fglrx that is installed by default on Travis # trusty bots. This way we force both Qt and Xvfb to load on mesa drivers. env: BUILDTYPE=Release _CXX=g++-5 _CC=gcc-5 LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa addons: *qt5 script: - make qt-app - make qt-qml-app - make qt-test - scripts/valgrind.sh build/qt-linux-x86_64/Release/mbgl-test --gtest_filter=-*.Load cache: directories: - $HOME/.ccache - $HOME/.cache/pip - node_modules - mason_packages/.binaries notifications: slack: secure: HHQYr7sF8M1SzoWSqgKVYtwAgGdLLCyTMsQjFhEEQNYO92ZwURE5s03qWTGH5k8+4Yqn26yrXt3NztLC4JIOpcGervN2mSZyq4dZgFTcWEd61igw0qwSenlwvFfbE1ASK/KYCzfyn9MIfHN+ovwLoRxXZkPwinKDvl3DXjBaFNg=