mirror of https://github.com/c-ares/c-ares.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
3.8 KiB
114 lines
3.8 KiB
language: c++ |
|
dist: trusty |
|
sudo: false |
|
addons: |
|
apt: |
|
sources: |
|
- ubuntu-toolchain-r-test |
|
- sourceline: 'ppa:adrozdoff/cmake' # newer cmake |
|
- llvm-toolchain-trusty-5.0 |
|
packages: |
|
- cmake |
|
- lcov |
|
- clang-5.0 |
|
- clang-tools-5.0 |
|
- valgrind |
|
matrix: |
|
include: |
|
- os: linux |
|
compiler: gcc |
|
env: BUILD_TYPE=normal |
|
- os: linux |
|
compiler: clang |
|
env: BUILD_TYPE=normal |
|
- os: linux |
|
compiler: gcc |
|
env: BUILD_TYPE=cmake |
|
- os: linux |
|
compiler: clang |
|
env: BUILD_TYPE=cmake |
|
- os: linux |
|
compiler: gcc |
|
env: BUILD_TYPE=coverage |
|
- os: linux |
|
compiler: clang |
|
env: BUILD_TYPE=ubsan |
|
- os: linux |
|
compiler: clang |
|
env: BUILD_TYPE=asan |
|
sudo: true # ASAN requires ptrace which is disabled in containers (https://github.com/travis-ci/travis-ci/issues/9033) |
|
- os: linux |
|
compiler: clang |
|
env: BUILD_TYPE=lsan |
|
sudo: true # LSAN requires ptrace which is disabled in containers (https://github.com/travis-ci/travis-ci/issues/9033) |
|
- os: linux |
|
compiler: clang |
|
env: BUILD_TYPE=analyse |
|
- os: linux |
|
compiler: gcc |
|
env: BUILD_TYPE=valgrind |
|
- os: osx |
|
compiler: gcc |
|
env: BUILD_TYPE=normal |
|
- os: osx |
|
compiler: clang |
|
env: BUILD_TYPE=normal |
|
- os: osx |
|
compiler: clang |
|
env: BUILD_TYPE=cmake |
|
- os: osx |
|
compiler: clang |
|
language: objective-c |
|
env: BUILD_TYPE=ios |
|
install: |
|
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then pip install --user cpp-coveralls > /dev/null; fi |
|
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew reinstall libtool > /dev/null; fi |
|
before_script: |
|
- | |
|
if [ "$BUILD_TYPE" = "coverage" ]; then |
|
export CONFIG_OPTS="--enable-debug --disable-shared --enable-code-coverage" |
|
fi |
|
- | |
|
if [ "$BUILD_TYPE" = "asan" ]; then |
|
export CONFIG_OPTS=--enable-debug |
|
export CFLAGS=-fsanitize=address |
|
export CXXFLAGS=-fsanitize=address |
|
export LDFLAGS=-fsanitize=address |
|
fi |
|
- | |
|
if [ "$BUILD_TYPE" = "lsan" ]; then |
|
export CONFIG_OPTS=--enable-debug |
|
export CFLAGS=-fsanitize=leak |
|
export CXXFLAGS=-fsanitize=leak |
|
export LDFLAGS=-fsanitize=leak |
|
fi |
|
- | |
|
if [ "$BUILD_TYPE" = "ubsan" ]; then |
|
export CFLAGS="-fsanitize=undefined -fno-sanitize-recover" |
|
export LDFLAGS="-fsanitize=undefined" |
|
fi |
|
- | |
|
if [ "$BUILD_TYPE" = "analyse" ]; then |
|
export SCAN_WRAP="scan-build-5.0 --status-bugs" |
|
export CONFIG_OPTS="--enable-debug" |
|
export CXX="clang++-5.0" |
|
export CC="clang-5.0" |
|
fi |
|
- | |
|
if [ "$BUILD_TYPE" = "valgrind" ]; then |
|
export TEST_WRAP='libtool --mode=execute valgrind --leak-check=full' |
|
# Skip container tests as valgrind doesn't cope with clone() |
|
export TEST_FILTER="--gtest_filter=-*Container*" |
|
fi |
|
- | |
|
if [ "$BUILD_TYPE" = "ios" ]; then |
|
export CONFIG_OPTS=--host=arm-apple-darwin10 |
|
export DEVPATH=`xcode-select -print-path`/Platforms/iPhoneOS.platform/Developer |
|
export IOSFLAGS="-isysroot $DEVPATH/SDKs/iPhoneOS.sdk -arch armv7 -miphoneos-version-min=8.0.0" |
|
export CFLAGS=$IOSFLAGS |
|
export CXXFLAGS=$IOSFLAGS |
|
export LDFLAGS=$IOSFLAGS |
|
fi |
|
script: |
|
- ./travis/build.sh && ./travis/test.sh |
|
- if [ "$BUILD_TYPE" = "normal" ]; then ./travis/distcheck.sh && ./travis/covupload.sh; fi
|
|
|