Clean up and document Travis setup.

This commit is contained in:
Rene Rivera
2016-11-17 13:24:58 -06:00
parent 5393bee297
commit dc9b143061

View File

@ -4,52 +4,68 @@
# #
# Copyright Rene Rivera 2015-2016. # Copyright Rene Rivera 2015-2016.
branches: # Setting up notifications like this is optional as the default behavior
only: # of Travis is to notify the commiter of problems. But setting a specific
- master # recipient this way ensures you get all the communications about the
- develop # builds.
dist: trusty
language: generic
notifications: notifications:
email: email:
recipients: recipients:
- grafikrobot@gmail.com - grafikrobot@gmail.com
# For now the CI scripts only support the two main branches available
# on the boost super-project.
branches:
only:
- master
- develop
# We specify a generic language instead of C++ as Travis sets up
# additional environment vars that point to its default toolset
# instead of the one we install. The extra env doesn't interfere,
# but at the same time it's misleading. So to avoid confusion and
# possible unseen side effects we stick with no C++ default setup.
language: generic
# Speficy the default as Linux here, to avoid duplication in the matrix
# below. We use Trausty as that's the latest we can use. And it's better
# supported by the whole range of C++ toolsets we like to test on.
dist: trusty
os: linux
# Because we install our own toolsets and other software we need
# to run the sudo support.
sudo: required sudo: required
# Travis has a long standing bug with their rather complicated
# build matrix evaluation that causes empty jobs to be created.
# This global matrix entry in combination with the exclusion
# below works around that bug. This is the suggested fix from
# the Travis support people.
env: env:
matrix: matrix:
- TRAVIS_EMPTY_JOB_WORKAROUND=true - TRAVIS_EMPTY_JOB_WORKAROUND=true
# This lists all the toolsets we will test with the Boost CI
# scripts. Predef needs to check all of them as its job is to
# distiguish between all of them. For other libraries you would
# want to limit the list to the toolsets that are important
# for that.
matrix: matrix:
exclude: exclude:
- env: TRAVIS_EMPTY_JOB_WORKAROUND=true - env: TRAVIS_EMPTY_JOB_WORKAROUND=true
include: include:
- env: TOOLSET=clang-3.4 - env: TOOLSET=clang-3.4
os: linux
- env: TOOLSET=clang-3.5 - env: TOOLSET=clang-3.5
os: linux
- env: TOOLSET=clang-3.6 - env: TOOLSET=clang-3.6
os: linux
- env: TOOLSET=clang-3.7 - env: TOOLSET=clang-3.7
os: linux
- env: TOOLSET=clang-3.8 - env: TOOLSET=clang-3.8
os: linux
- env: TOOLSET=clang-3.9 - env: TOOLSET=clang-3.9
os: linux
- env: TOOLSET=gcc-4.7 - env: TOOLSET=gcc-4.7
os: linux
- env: TOOLSET=gcc-4.8 - env: TOOLSET=gcc-4.8
os: linux
- env: TOOLSET=gcc-4.9 - env: TOOLSET=gcc-4.9
os: linux
- env: TOOLSET=gcc-5 - env: TOOLSET=gcc-5
os: linux
- env: TOOLSET=gcc-6 - env: TOOLSET=gcc-6
os: linux
- env: TOOLSET=xcode-6.1 - env: TOOLSET=xcode-6.1
os: osx os: osx
- env: TOOLSET=xcode-6.2 - env: TOOLSET=xcode-6.2
@ -77,6 +93,8 @@ matrix:
os: osx os: osx
osx_image: xcode8 osx_image: xcode8
# These are the standard steps to bootstrap the Boost CI scripts
# and to forward the actions to the scripts.
before_install: before_install:
# Fetch the scripts to do the actual building/testing. # Fetch the scripts to do the actual building/testing.
- | - |