cppzmq/.travis.yml
2021-06-28 00:22:15 +02:00

131 lines
3.5 KiB
YAML

# Travis CI script
language: cpp
dist: trusty
cache: ccache
sudo: false
matrix:
include:
##########################################################
# Clang on OSX
# Travis takes longer to start OSX instances,
# so leaving it first for the overall build to be faster.
##########################################################
- os: osx
osx_image: xcode9.1
compiler: clang
env: ENABLE_DRAFTS=ON
##########################################################
# GCC on Linux
##########################################################
# Coverage, GCC 7, draft enabled, latest libzmq (default)
- os: linux
python: 3.6
before_install:
- pip3 install --user cpp-coveralls
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
- python3-pip
env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" ENABLE_DRAFTS=ON COVERAGE=ON
after_success:
- coveralls -r . -E ".*external.*" -E ".*CMakeFiles.*" -E ".*tests/" -E ".*demo/" -E ".*libzmq.*/" -E ".*catch/" -b cppzmq-build --gcov-options '\-lp'
# GCC default, draft disabled, older libzmq with pkg-config
- os: linux
env: ZMQ_VERSION=4.2.0 BUILD_TYPE=pkgconfig
# GCC default, draft disabled, latest 4.2.x libzmq (defined in ci_build.sh)
- os: linux
env: ZMQ_VERSION=4.2.5
# GCC default, draft disabled, default libzmq (defined in ci_build.sh)
- os: linux
# GCC 6, draft disabled (default), older libzmq
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env:
- ZMQ_VERSION=4.2.5 MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
# GCC 4.9, draft disabled (default), latest libzmq (default)
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
env:
- MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" CMAKE_CPP_STD=-DCMAKE_CXX_STANDARD=11
# GCC 7, draft enabled, latest libzmq (default)
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" ENABLE_DRAFTS=ON
# Clang 8.0, draft disabled (default), latest libzmq (default), C++17
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-8
packages:
- g++-9
- clang-8
env:
- MATRIX_EVAL="CC=clang-8 && CXX=clang++-8" CMAKE_CPP_STD=-DCMAKE_CXX_STANDARD=17
# - env: BUILD_TYPE=cmake DO_CLANG_FORMAT_CHECK=1 CLANG_FORMAT=/usr/local/clang-5.0.0/bin/clang-format
# os: linux
# addons:
# apt:
# sources:
# - llvm-toolchain-trusty-5.0
# packages:
# - clang-5.0
before_script:
- mkdir -p /tmp/cmake.root
- |
if [ $TRAVIS_OS_NAME = 'linux' ]; then
CMAKE_PKG_SUFFIX="linux-x86_64"
else
CMAKE_PKG_SUFFIX="macos10.10-universal"
fi
- wget -qO- "https://cmake.org/files/v3.20/cmake-3.20.5-$CMAKE_PKG_SUFFIX.tar.gz" | tar --strip-components=1 -xz -C /tmp/cmake.root
- |
if [ $TRAVIS_OS_NAME = 'linux' ]; then
CMAKE_BIN_DIR="bin"
else
CMAKE_BIN_DIR="CMake.app/Contents/bin"
fi
- export PATH=/tmp/cmake.root/$CMAKE_BIN_DIR:$PATH
# Build and check this project
script:
- eval "${MATRIX_EVAL}"
- cmake --version
- ./ci_build.sh