diff --git a/.travis.yml b/.travis.yml index 6f4f928bcc2a3e..ce133bac42c451 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,24 +1,82 @@ -os: - - linux - - osx - +language: c sudo: false +addons: + apt: + packages: + - cmake + - gcc-4.8 + - lcov + - clang-3.7 + - valgrind -language: c +matrix: + include: + - os: linux + compiler: gcc + env: BUILD_TYPE=normal + - os: linux + compiler: clang + env: BUILD_TYPE=normal + - os: osx + compiler: gcc + env: BUILD_TYPE=normal + - 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: ./configure --enable-debug && make && make test-nonflaky + - ./buildconf -compiler: - - clang - - gcc +script: + - | + if [ "$BUILD_TYPE" = "coverage" ]; then + ./configure --enable-debug --disable-shared --enable-code-coverage + make + make test-nonflaky + coveralls --gcov /usr/bin/gcov-4.8 --gcov-options '\-lp' + fi + - | + if [ "$BUILD_TYPE" = "normal" ]; then + ./configure --enable-debug + make + make test-nonflaky + fi + - | + if [ "$BUILD_TYPE" = "cmake" ]; then + mkdir build + cd build + cmake .. + make + fi + - | + if [ "$BUILD_TYPE" = "distcheck" ]; then + ./maketgz 99.98.97 + tar xvf curl-99.98.97.tar.gz + cd curl-99.98.97 + ./configure + make + make TFLAGS=1 test + fi notifications: email: false