gil/.travis.yml
2019-07-22 01:49:47 +02:00

246 lines
6.5 KiB
YAML

# Copyright 2016 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
dist: xenial
language: cpp
sudo: false
os:
- linux
- osx
env:
global:
- secure: "UHit2f6Hq2pkHvx8rfrQvFacYiQKVO3vrCbNuDi/VSAIzQjRnqCqE06y4vpXLMsXf62TvBeCBStIuI8g+HP8B+f39oGb/9Om+yIgN/yes47R4sLFKFbRiOS6sfCIefJp7Kx7GSFf81xWxStpIU4QaSsk8Dlt5xyurTWXFSde+lQ="
matrix:
- BOGUS_JOB=true
matrix:
fast_finish: true
exclude:
- env: BOGUS_JOB=true
include:
- os: linux
env: COMPILER=g++-5 VARIANT=debug TOOLSET=gcc CXXSTD=11 TEST_HEADERS=1
addons:
apt:
packages:
- g++-5
- libpng-dev
- libjpeg-dev
- libtiff5-dev
- libraw-dev
sources:
- ubuntu-toolchain-r-test
- os: linux
env: COMPILER=g++-5 VARIANT=release TOOLSET=gcc CXXSTD=11
addons:
apt:
packages:
- g++-5
- libpng-dev
- libjpeg-dev
- libtiff5-dev
- libraw-dev
sources:
- ubuntu-toolchain-r-test
- os: linux
env: COMPILER=g++-6 VARIANT=debug TOOLSET=gcc CXXSTD=11
addons:
apt:
packages:
- g++-6
- libpng-dev
- libjpeg-dev
- libtiff5-dev
- libraw-dev
sources:
- ubuntu-toolchain-r-test
- os: linux
env: COMPILER=g++-6 VARIANT=release TOOLSET=gcc CXXSTD=11
addons:
apt:
packages:
- g++-6
- libpng-dev
- libjpeg-dev
- libtiff5-dev
- libraw-dev
sources:
- ubuntu-toolchain-r-test
- os: linux
env: COMPILER=g++-7 VARIANT=debug TOOLSET=gcc CXXSTD=11
addons:
apt:
packages:
- g++-7
- libpng-dev
- libjpeg-dev
- libtiff5-dev
- libraw-dev
sources:
- ubuntu-toolchain-r-test
- os: linux
env: COMPILER=g++-7 VARIANT=release TOOLSET=gcc CXXSTD=11
addons:
apt:
packages:
- g++-7
- libpng-dev
- libjpeg-dev
- libtiff5-dev
- libraw-dev
sources:
- ubuntu-toolchain-r-test
- os: linux
env: COMPILER=clang++-3.9 VARIANT=debug TOOLSET=clang CXXSTD=11
addons:
apt:
packages:
- clang-3.9
- libstdc++-6-dev
- libpng-dev
- libjpeg-dev
- libtiff5-dev
- libraw-dev
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.9
- os: linux
env: COMPILER=clang++-3.9 VARIANT=release TOOLSET=clang CXXSTD=11
addons:
apt:
packages:
- clang-3.9
- libstdc++-6-dev
- libpng-dev
- libjpeg-dev
- libtiff5-dev
- libraw-dev
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.9
- os: linux
env: COMPILER=clang++-6.0 VARIANT=gil_ubsan_integer TOOLSET=clang CXXSTD=11 B2_OPTIONS="visibility=global" UBSAN_OPTIONS='print_stacktrace=1'
addons:
apt:
packages:
- clang-6.0
- libstdc++-7-dev
- libpng-dev
- libjpeg-dev
- libtiff5-dev
- libraw-dev
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-6.0
- os: linux
env: COMPILER=clang++-6.0 VARIANT=gil_ubsan_nullability TOOLSET=clang CXXSTD=11 B2_OPTIONS="visibility=global" UBSAN_OPTIONS='print_stacktrace=1'
addons:
apt:
packages:
- clang-6.0
- libstdc++-7-dev
- libpng-dev
- libjpeg-dev
- libtiff5-dev
- libraw-dev
sources:
- ubuntu-toolchain-r-test
- os: linux
env: COMPILER=clang++-6.0 VARIANT=gil_ubsan_undefined TOOLSET=clang CXXSTD=11 B2_OPTIONS="visibility=global" UBSAN_OPTIONS='print_stacktrace=1'
addons:
apt:
packages:
- clang-6.0
- libstdc++-7-dev
- libpng-dev
- libjpeg-dev
- libtiff5-dev
- libraw-dev
sources:
- ubuntu-toolchain-r-test
- os: osx
env: COMPILER=clang++ VARIANT=debug TOOLSET=clang CXXSTD=11
- os: osx
env: COMPILER=clang++ VARIANT=release TOOLSET=clang CXXSTD=11
- env: DOC=1
addons:
apt:
packages:
- doxygen
- python3
- python3-pip
- python3-setuptools
allow_failures:
- env: COMPILER=clang++-6.0 VARIANT=gil_ubsan_integer TOOLSET=clang CXXSTD=11 B2_OPTIONS="visibility=global" UBSAN_OPTIONS='print_stacktrace=1'
install:
- |-
if [ "$DOC" ]; then
pip3 --version
pip3 install --upgrade pip
pip3 install --user sphinx>=2.1
sphinx-build --version
fi
- cd ..
- $TRAVIS_BUILD_DIR/.ci/get-boost.sh $TRAVIS_BRANCH $TRAVIS_BUILD_DIR
- cd boost-root
- export BOOST_ROOT=$(pwd)
- ./bootstrap.sh
script:
- |-
if [ "$DOC" ]; then
echo "using doxygen ;" > ~/user-config.jam
./b2 libs/gil/doc
else
echo "using $TOOLSET : : $COMPILER : ;" > ~/user-config.jam
./b2 -j 2 $B2_OPTIONS toolset=$TOOLSET variant=$VARIANT cxxstd=$CXXSTD libs/gil/test/core
./b2 -j 2 $B2_OPTIONS toolset=$TOOLSET variant=$VARIANT cxxstd=$CXXSTD libs/gil/test/legacy
./b2 -j 2 $B2_OPTIONS toolset=$TOOLSET variant=$VARIANT cxxstd=$CXXSTD libs/gil/test/extension/numeric
./b2 -j 2 $B2_OPTIONS toolset=$TOOLSET variant=$VARIANT cxxstd=$CXXSTD libs/gil/test/extension/toolbox
./b2 -j 2 $B2_OPTIONS toolset=$TOOLSET variant=$VARIANT cxxstd=$CXXSTD libs/gil/test/extension/io//simple
fi
after_success:
# Upload docs only when building upstream.
- |-
if [ "$DOC" -a \
"$TRAVIS_REPO_SLUG" = "boostorg/gil" -a \
"$TRAVIS_PULL_REQUEST" = "false" ]; then
export GH_TOKEN
cd libs/gil
.ci/upload_docs.sh
fi
notifications:
email:
on_success: always
webhooks:
urls:
- https://webhooks.gitter.im/e/f59b626f2ed08f3d30ab
# options: [always|never|change]
on_success: change # default: always
on_failure: always # default: always
on_start: change # default: never
on_cancel: always # default: always
on_error: always # default: always