curl/.travis.yml
Marcel Raad c1dfc8a071
travis: enable typecheck-gcc warnings
- switch debug and release configurations so that we get an optimized
  build with GCC 4.3+ as required by typecheck-gcc
- enable warnings-as-errors for release builds
  (which have warnings disabled)

Closes https://github.com/curl/curl/pull/1595
2017-06-21 12:28:12 +02:00

100 lines
2.8 KiB
YAML

language: c
sudo: false
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.7
packages:
- cmake
- gcc-4.8
- lcov
- clang-3.7
- valgrind
matrix:
include:
- os: linux
compiler: gcc
env: BUILD_TYPE=normal
- os: linux
compiler: clang
env: BUILD_TYPE=debug
- os: osx
compiler: gcc
env: BUILD_TYPE=debug
- os: osx
compiler: clang
env: BUILD_TYPE=normal
- os: linux
compiler: gcc
dist: trusty
env: BUILD_TYPE=cmake
- os: linux
compiler: clang
dist: trusty
env: BUILD_TYPE=cmake
- os: linux
compiler: gcc
env: BUILD_TYPE=coverage
- os: linux
compiler: gcc
env: BUILD_TYPE=distcheck
install:
- pip install --user cpp-coveralls
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update > /dev/null; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew reinstall libtool > /dev/null; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install openssl libidn rtmpdump libssh2 c-ares libmetalink libressl nghttp2; fi
before_script:
- ./buildconf
script:
- |
if [ "$BUILD_TYPE" = "coverage" ]; then
export CC="gcc-4.8"
./configure --enable-debug --disable-shared --enable-code-coverage
make
make TFLAGS=-n test-nonflaky
make "TFLAGS=-n -e 1 2 3 4 5 6 7 8 9 10" test-nonflaky
make "TFLAGS=-n -t 1 2 3 4 5 6 7 8 9 10" test-nonflaky
coveralls --gcov /usr/bin/gcov-4.8 --gcov-options '\-lp' -i src -i lib -i lib/vtls -i lib/vauth -e tests -e docs
fi
- |
if [ "$BUILD_TYPE" = "debug" ]; then
./configure --enable-debug
make
make TFLAGS=-n test-nonflaky
fi
- |
if [ "$BUILD_TYPE" = "normal" ]; then
./configure --enable-werror
make
make TFLAGS=-n test-nonflaky
fi
- |
if [ "$BUILD_TYPE" = "cmake" ]; then
mkdir build
cd build
cmake ..
make
fi
- |
if [ "$BUILD_TYPE" = "distcheck" ]; then
./configure
make
./maketgz 99.98.97
(tar xf curl-99.98.97.tar.gz && cd curl-99.98.97 && ./configure && make && make TFLAGS=1 test)
rm -rf curl-99.98.97
(tar xf curl-99.98.97.tar.gz && mkdir build && cd build && ../curl-99.98.97/configure && make && make TFLAGS=1 test)
fi
# whitelist branches to avoid testing feature branches twice (as branch and as pull request)
branches:
only:
- master
notifications:
email: false