summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml166
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: