1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-22 08:08:50 -05:00
curl/.travis.yml
2017-07-04 23:04:06 +02:00

109 lines
3.2 KiB
YAML

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