Files
MapLibreParticleLab/.travis.yml
2017-06-21 14:19:31 -07:00

241 lines
8.2 KiB
YAML

group: deprecated-2017Q2
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: "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
- 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:
# 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 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=