language: c sudo: required addons: apt: sources: - ubuntu-toolchain-r-test - llvm-toolchain-precise-3.7 packages: - cmake - gcc-4.8 - lcov - clang-3.7 - valgrind - libev-dev - libc-ares-dev - g++-4.8 - libstdc++-4.8-dev 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 - if [ $TRAVIS_OS_NAME = linux ]; then curl -L https://github.com/nghttp2/nghttp2/releases/download/v1.24.0/nghttp2-1.24.0.tar.gz | tar xzf - && (cd nghttp2-1.24.0 && CXX="g++-4.8" ./configure --prefix=/usr --disable-threads --enable-app && make && sudo make install); 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 --enable-werror 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