diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 166 |
1 files changed, 104 insertions, 62 deletions
diff --git a/.travis.yml b/.travis.yml index 57f6e10abc..13ee36cc23 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,27 +2,45 @@ 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' ] + packages: + - &common_packages [ 'libllvm3.8v4', 'cmake', 'cmake-data' ] + - &clang38_packages [ 'clang-3.8', 'libstdc++-5-dev', 'libstdc++6' ] + - &gcc5_packages [ 'gcc-5', 'g++-5' ] + - &glfw_packages [ 'libxrandr-dev', 'libxcursor-dev', 'libxinerama-dev' ] + addons_shortcuts: - addons_clang35: &clang35 + addons_clang38: &clang38 apt: - sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ] - packages: [ 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6', 'libllvm3.8v4', 'cmake', 'cmake-data', - 'libxrandr-dev', 'libxcursor-dev', 'libxinerama-dev' ] + sources: *common_sources + packages: + - *common_packages + - *clang38_packages + - *glfw_packages addons_gcc5: &gcc5 apt: - sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ] - packages: [ 'g++-5', 'gcc-5', 'libllvm3.8v4', 'cmake', 'cmake-data', - 'libxrandr-dev', 'libxcursor-dev', 'libxinerama-dev' ] + sources: *common_sources + packages: + - *common_packages + - *gcc5_packages + - *glfw_packages 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' ] + sources: *common_sources + packages: + - *common_packages + - *gcc5_packages + - [ 'libjemalloc-dev', 'mesa-utils', 'qt4-default', 'libqt4-sql-mysql' ] 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' ] + 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: @@ -38,9 +56,7 @@ env: install: - source ./scripts/travis_helper.sh - source ./scripts/travis_setup.sh -before_script: - ccache --zero-stats - - cmake --version script: - make linux - make benchmark @@ -49,106 +65,132 @@ script: 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.5 - Debug - Node + # LLVM 3.8.0 - clang-{format,tidy} + - os: linux + sudo: false + dist: trusty + language: cpp + env: _CXX=c++ _CC=cc + compiler: "check" + script: + - git fetch origin master:refs/remotes/origin/master + - make check + + # EGL - Node - Clang 3.8 - Debug - os: linux sudo: required dist: trusty language: node - compiler: "node4-clang35-debug" - env: _CXX=clang++-3.5 _CC=clang-3.5 WITH_OSMESA=1 - addons: *clang35 + compiler: "egl-node4-clang38-debug" + env: BUILDTYPE=Debug _CXX=clang++-3.8 _CC=clang-3.8 WITH_EGL=1 + addons: *clang38 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") + - mapbox_install_logbt + - mapbox_start_xvfb + - mapbox_export_mesa_library_path script: - nvm install 4 - nvm use 4 - make node - - if [[ -z ${PUBLISH} ]]; then make test-node; fi + - ./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_failure: + - aws s3 cp . s3://mapbox/mapbox-gl-native/render-tests/$TRAVIS_JOB_NUMBER --recursive --exclude "*" --include "*.trace" - # GCC 5 - Debug - Coverage - # FIXME: https://github.com/mapbox/mapbox-gl-native/issues/6918 + # EGL - Node - Clang 3.8 - Release - os: linux sudo: required dist: trusty - language: cpp - compiler: "glfw-gcc5-debug" - env: BUILDTYPE=Debug _CXX=g++-5 _CC=gcc-5 WITH_COVERAGE=1 WITH_OSMESA=1 - addons: *gcc5 + language: node + compiler: "egl-node4-clang38-release" + env: BUILDTYPE=Release _CXX=clang++-3.8 _CC=clang-3.8 WITH_EGL=1 + addons: *clang38 + 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/linux/scripts/coveralls.sh + - ./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" - # GCC 5 - Release + # EGL - GCC 5 - Debug (Coverage) - os: linux sudo: required dist: trusty language: cpp - compiler: "glfw-gcc5-release" - env: BUILDTYPE=Release _CXX=g++-5 _CC=gcc-5 WITH_OSMESA=1 + 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 - # 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 WITH_OSMESA=1 - 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 WITH_OSMESA=1 - addons: *clang35 - - # Clang 3.5 - tidy + # EGL - Clang 3.8 - Debug - os: linux sudo: required dist: trusty language: cpp - compiler: "check-clang35-release" - env: BUILDTYPE=Release _CXX=clang++-3.5 _CC=clang-3.5 WITH_OSMESA=1 - addons: *clang35 - script: - - git fetch origin master:refs/remotes/origin/master + compiler: "egl-clang38-debug" + env: BUILDTYPE=Debug _CXX=clang++-3.8 _CC=clang-3.8 WITH_EGL=1 + addons: *clang38 + before_script: + - mapbox_start_xvfb + - mapbox_export_mesa_library_path - # Qt 4 - Release + # 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 RUN_XVFB=1 WITH_QT_4=1 + env: BUILDTYPE=Release _CXX=g++-5 _CC=gcc-5 WITH_QT_4=1 addons: *qt4 + before_script: + - mapbox_start_xvfb + - mapbox_export_mesa_library_path script: - make qt-app - LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so make run-qt-test-Memory.*:*.Load - # Qt 5 - Release + # 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 RUN_XVFB=1 + 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-qml-app - make qt-test - - scripts/valgrind.sh build/qt-linux-x86_64/Release/mbgl-test --gtest_filter=-*.Load + - scripts/valgrind.sh build/qt-linux-x86_64/Release/mbgl-test --gtest_filter=-*.Load --gtest_filter=-Memory.Vector cache: directories: |