git: submodules: false # Save common build configurations as shortcuts, so we can reference them later. addons: apt: sources: - &common_sources [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports', 'llvm-toolchain-trusty-3.9' ] packages: - &common_packages [ 'libllvm3.8v4', 'cmake', 'cmake-data' ] - &clang39_packages [ 'clang-3.9', 'libstdc++-5-dev', 'libstdc++6' ] - &gcc5_packages [ 'gcc-5', 'g++-5' ] - &glfw_packages [ 'libxrandr-dev', 'libxcursor-dev', 'libxinerama-dev' ] addons_shortcuts: addons_clang39: &clang39 apt: sources: *common_sources packages: - *common_packages - *clang39_packages - *glfw_packages addons_gcc5: &gcc5 apt: sources: *common_sources packages: - *common_packages - *gcc5_packages - *glfw_packages addons_qt4: &qt4 apt: sources: *common_sources packages: - *common_packages - *gcc5_packages - [ 'libjemalloc-dev', 'mesa-utils', 'qt4-default', 'libqt4-sql-mysql' ] addons_qt5: &qt5 apt: sources: *common_sources packages: - *common_packages - *gcc5_packages - [ 'mesa-utils', 'libc6-dbg', 'qt5-default', 'libqt5opengl5-dev', 'qtdeclarative5-dev', 'qtpositioning5-dev', 'qtlocation5-dev', 'libqt5sql5-sqlite' ] env: global: - TERM: dumb - CCACHE: 1 - CCACHE_MAXSIZE: 384M # AWS - secure: "OjsCDBFxtGGdNIOCEVtb7GMt/JSFfsKQD/LDV45ctt0UF2QWtwGt+2kXtDlAAu2SdmmuQuxmkc06emZabVmAGDjZ0DNnbhfCNIWeN4nx73dw7uyDBKmP/rsCLQGAF+R5NVywxLmdgJL3LM8SddIwotODjaEboyLV4n6GGloLFsw=" - secure: "hCFkljxpbQEai3WR/s+zcu+jOPrZZwXCSY2voU4W0GygbTxh2ZUq803PgO98EAkiShITfyHIP7lSKdT20uh/cNQwW7g0KMf/hYZk7wLy7YZrcr3wZRY8MlTV3Rn+MxvDrW85J371twz64KEgvvO1TlfWqDr1C1YDNbCBIJnhYEE=" # Access Token - secure: "RiBIBfVhhaMjU5ksuwJO3shdvG9FpinBjdSv4co9jg9171SR8edNriedHjVKSIeBhSGNmZmX+twS3dJS/By6tl/LKh9sTynA+ZAYYljkE7jn881B/gMrlYvdAA6og5KvkhV1/0iJWlhuZrMTkhpDR200iLgg3EWBhWjltzmDW/I=" install: - source ./scripts/travis_helper.sh - source ./scripts/travis_setup.sh - ccache --zero-stats script: - make linux - make benchmark - make test - make run-test after_script: - ccache --show-stats - ./platform/linux/scripts/after_script.sh ${TRAVIS_JOB_NUMBER} after_success: - ./platform/linux/scripts/after_success.sh matrix: include: # Clang 3.9.0 / clang-{format,tidy} 4.0.0 - os: linux sudo: required dist: trusty language: cpp compiler: "check" env: _CXX=clang++-3.9 _CC=clang-3.9 addons: *clang39 script: - git fetch origin master:refs/remotes/origin/master - make check branches: except: - master # EGL - Node v4 - Clang 3.9 - Release - os: linux sudo: required dist: trusty language: node compiler: "egl-node4-clang39-release" env: BUILDTYPE=Release _CXX=clang++-3.9 _CC=clang-3.9 WITH_EGL=1 addons: *clang39 before_script: # fglrx causes the GLX extension to be unavailable - sudo apt-get purge -qq fglrx - export PACKAGE_JSON_VERSION=$(node -e "console.log(require('./package.json').version)") - export PUBLISH=$([[ "${TRAVIS_TAG:-}" == "node-v${PACKAGE_JSON_VERSION}" ]] && echo true) - mapbox_install_logbt - mapbox_start_xvfb - mapbox_export_mesa_library_path script: - nvm install 4 - nvm use 4 - make node - ./logbt -- $(scripts/mason.sh PREFIX apitrace VERSION 6a30de1)/bin/apitrace trace --api=egl -v make test-node after_script: - ccache --show-stats - ./platform/node/scripts/after_script.sh ${TRAVIS_JOB_NUMBER} after_success: - ./platform/node/scripts/after_success.sh after_failure: - aws s3 cp . s3://mapbox/mapbox-gl-native/render-tests/$TRAVIS_JOB_NUMBER --recursive --exclude "*" --include "*.trace" # EGL - Node v6 - Clang 3.9 - Debug - os: linux sudo: required dist: trusty language: node compiler: "egl-node6-clang39-debug" env: BUILDTYPE=Debug _CXX=clang++-3.9 _CC=clang-3.9 WITH_EGL=1 addons: *clang39 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) - mapbox_install_logbt - mapbox_start_xvfb - mapbox_export_mesa_library_path script: - nvm install 6 - nvm use 6 - make node - ./logbt -- $(scripts/mason.sh PREFIX apitrace VERSION 6a30de1)/bin/apitrace trace --api=egl -v make test-node after_script: - ccache --show-stats - ./platform/node/scripts/after_script.sh ${TRAVIS_JOB_NUMBER} after_success: - ./platform/node/scripts/after_success.sh after_failure: - aws s3 cp . s3://mapbox/mapbox-gl-native/render-tests/$TRAVIS_JOB_NUMBER --recursive --exclude "*" --include "*.trace" # EGL - Node v6 - Clang 3.9 - Release - os: linux sudo: required dist: trusty language: node compiler: "egl-node6-clang39-release" env: BUILDTYPE=Release _CXX=clang++-3.9 _CC=clang-3.9 WITH_EGL=1 addons: *clang39 before_script: # fglrx causes the GLX extension to be unavailable - sudo apt-get purge -qq fglrx - export PACKAGE_JSON_VERSION=$(node -e "console.log(require('./package.json').version)") - export PUBLISH=$([[ "${TRAVIS_TAG:-}" == "node-v${PACKAGE_JSON_VERSION}" ]] && echo true) - mapbox_install_logbt - mapbox_start_xvfb - mapbox_export_mesa_library_path script: - nvm install 6 - nvm use 6 - make node - ./logbt -- $(scripts/mason.sh PREFIX apitrace VERSION 6a30de1)/bin/apitrace trace --api=egl -v make test-node after_script: - ccache --show-stats - ./platform/node/scripts/after_script.sh ${TRAVIS_JOB_NUMBER} after_success: - ./platform/node/scripts/after_success.sh after_failure: - aws s3 cp . s3://mapbox/mapbox-gl-native/render-tests/$TRAVIS_JOB_NUMBER --recursive --exclude "*" --include "*.trace" # EGL - GCC 5 - Debug (Coverage) - os: linux sudo: required dist: trusty language: cpp compiler: "egl-gcc5-debug" env: BUILDTYPE=Debug _CXX=g++-5 _CC=gcc-5 WITH_COVERAGE=1 WITH_EGL=1 addons: *gcc5 before_script: - mapbox_start_xvfb - mapbox_export_mesa_library_path after_script: - ccache --show-stats - ./platform/linux/scripts/coveralls.sh # EGL - Clang 3.9 - Debug - os: linux sudo: required dist: trusty language: cpp compiler: "egl-clang39-debug" env: BUILDTYPE=Debug _CXX=clang++-3.9 _CC=clang-3.9 WITH_EGL=1 addons: *clang39 before_script: - mapbox_start_xvfb - mapbox_export_mesa_library_path # Qt 4 - GCC 5 - Release - os: linux sudo: required dist: trusty language: cpp compiler: "qt4-gcc5-release" env: BUILDTYPE=Release _CXX=g++-5 _CC=gcc-5 addons: *qt4 before_script: - mapbox_start_xvfb - mapbox_export_mesa_library_path script: - make qt-app - GTEST_OUTPUT=xml LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so make run-qt-test-Memory.*:*.Load - scripts/log_memory_benchmarks.sh test_detail.xml "Platform=Linux,Compiler=${_CC},Arch=$(uname -m)" # Qt 5 - GCC 5 - Release - os: linux sudo: required dist: trusty language: cpp compiler: "qt5-gcc5-release" env: BUILDTYPE=Release _CXX=g++-5 _CC=gcc-5 WITH_QT_I18N=1 addons: *qt5 before_script: - mapbox_start_xvfb - mapbox_export_mesa_library_path script: - make qt-app - make qt-test - make qt-docs - scripts/valgrind.sh build/qt-linux-x86_64/Release/mbgl-test --gtest_filter=-*.Load --gtest_filter=-Memory.Vector cache: directories: - $HOME/.ccache - $HOME/.cache/pip - node_modules - mason_packages/.binaries notifications: slack: secure: HHQYr7sF8M1SzoWSqgKVYtwAgGdLLCyTMsQjFhEEQNYO92ZwURE5s03qWTGH5k8+4Yqn26yrXt3NztLC4JIOpcGervN2mSZyq4dZgFTcWEd61igw0qwSenlwvFfbE1ASK/KYCzfyn9MIfHN+ovwLoRxXZkPwinKDvl3DXjBaFNg=