2017-06-03 17:27:13 -04:00
|
|
|
language: c
|
2015-08-17 12:08:55 -04:00
|
|
|
sudo: false
|
2017-06-03 17:27:13 -04:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
sources:
|
|
|
|
- ubuntu-toolchain-r-test
|
|
|
|
- llvm-toolchain-precise-3.7
|
|
|
|
packages:
|
|
|
|
- cmake
|
|
|
|
- gcc-4.8
|
|
|
|
- lcov
|
|
|
|
- clang-3.7
|
|
|
|
- valgrind
|
2015-08-17 12:08:55 -04:00
|
|
|
|
2017-06-03 17:27:13 -04:00
|
|
|
matrix:
|
|
|
|
include:
|
|
|
|
- os: linux
|
|
|
|
compiler: gcc
|
2017-06-20 16:44:15 -04:00
|
|
|
env: BUILD_TYPE=normal
|
2017-06-03 17:27:13 -04:00
|
|
|
- os: linux
|
|
|
|
compiler: clang
|
2017-06-20 16:44:15 -04:00
|
|
|
env: BUILD_TYPE=debug
|
2017-06-03 17:27:13 -04:00
|
|
|
- os: osx
|
|
|
|
compiler: gcc
|
2017-06-20 16:44:15 -04:00
|
|
|
env: BUILD_TYPE=debug
|
2017-06-03 17:27:13 -04:00
|
|
|
- os: osx
|
|
|
|
compiler: clang
|
2017-06-20 16:44:15 -04:00
|
|
|
env: BUILD_TYPE=normal
|
2017-06-03 17:27:13 -04:00
|
|
|
- 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
|
Adding a .travis.yml file to use the travis-ci.org
From wikipedia:
Travis CI is a hosted, distributed continuous integration service used
to build and test projects hosted at GitHub.
Travis CI is configured by adding a file named .travis.yml, which is a
YAML format text file, to the root directory of the GitHub repository.
Travis CI automatically detects when a commit has been made and pushed
to a GitHub repository that is using Travis CI, and each time this
happens, it will try to build the project and run tests. This includes
commits to all branches, not just to the master branch. When that
process has completed, it will notify a developer in the way it has been
configured to do so — for example, by sending an email containing the
test results (showing success or failure), or by posting a message on an
IRC channel. It can be configured to run the tests on a range of
different machines, with different software installed (such as older
versions of a programming language, to test for compatibility).
2013-10-17 09:10:18 -04:00
|
|
|
|
2015-08-21 00:10:59 -04:00
|
|
|
install:
|
2017-06-03 17:27:13 -04:00
|
|
|
- pip install --user cpp-coveralls
|
2015-08-21 00:10:59 -04:00
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update > /dev/null; fi
|
2016-08-02 06:43:23 -04:00
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew reinstall libtool > /dev/null; fi
|
2016-07-28 00:52:44 -04:00
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install openssl libidn rtmpdump libssh2 c-ares libmetalink libressl nghttp2; fi
|
2015-08-21 00:10:59 -04:00
|
|
|
|
Adding a .travis.yml file to use the travis-ci.org
From wikipedia:
Travis CI is a hosted, distributed continuous integration service used
to build and test projects hosted at GitHub.
Travis CI is configured by adding a file named .travis.yml, which is a
YAML format text file, to the root directory of the GitHub repository.
Travis CI automatically detects when a commit has been made and pushed
to a GitHub repository that is using Travis CI, and each time this
happens, it will try to build the project and run tests. This includes
commits to all branches, not just to the master branch. When that
process has completed, it will notify a developer in the way it has been
configured to do so — for example, by sending an email containing the
test results (showing success or failure), or by posting a message on an
IRC channel. It can be configured to run the tests on a range of
different machines, with different software installed (such as older
versions of a programming language, to test for compatibility).
2013-10-17 09:10:18 -04:00
|
|
|
before_script:
|
2017-06-03 17:27:13 -04:00
|
|
|
- ./buildconf
|
2015-03-09 23:51:16 -04:00
|
|
|
|
2017-06-03 17:27:13 -04:00
|
|
|
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
|
|
|
|
- |
|
2017-06-06 08:40:36 -04:00
|
|
|
if [ "$BUILD_TYPE" = "debug" ]; then
|
2017-07-04 04:27:12 -04:00
|
|
|
./configure --enable-debug --enable-werror
|
2017-06-03 17:27:13 -04:00
|
|
|
make
|
|
|
|
make TFLAGS=-n test-nonflaky
|
|
|
|
fi
|
2017-06-06 08:40:36 -04:00
|
|
|
- |
|
|
|
|
if [ "$BUILD_TYPE" = "normal" ]; then
|
2017-06-20 16:44:15 -04:00
|
|
|
./configure --enable-werror
|
2017-06-06 08:40:36 -04:00
|
|
|
make
|
|
|
|
make TFLAGS=-n test-nonflaky
|
|
|
|
fi
|
2017-06-03 17:27:13 -04:00
|
|
|
- |
|
|
|
|
if [ "$BUILD_TYPE" = "cmake" ]; then
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake ..
|
|
|
|
make
|
|
|
|
fi
|
|
|
|
- |
|
|
|
|
if [ "$BUILD_TYPE" = "distcheck" ]; then
|
|
|
|
./configure
|
|
|
|
make
|
|
|
|
./maketgz 99.98.97
|
2017-06-19 19:02:06 -04:00
|
|
|
(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)
|
2017-06-03 17:27:13 -04:00
|
|
|
fi
|
Adding a .travis.yml file to use the travis-ci.org
From wikipedia:
Travis CI is a hosted, distributed continuous integration service used
to build and test projects hosted at GitHub.
Travis CI is configured by adding a file named .travis.yml, which is a
YAML format text file, to the root directory of the GitHub repository.
Travis CI automatically detects when a commit has been made and pushed
to a GitHub repository that is using Travis CI, and each time this
happens, it will try to build the project and run tests. This includes
commits to all branches, not just to the master branch. When that
process has completed, it will notify a developer in the way it has been
configured to do so — for example, by sending an email containing the
test results (showing success or failure), or by posting a message on an
IRC channel. It can be configured to run the tests on a range of
different machines, with different software installed (such as older
versions of a programming language, to test for compatibility).
2013-10-17 09:10:18 -04:00
|
|
|
|
2017-06-20 17:00:49 -04:00
|
|
|
# whitelist branches to avoid testing feature branches twice (as branch and as pull request)
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- master
|
|
|
|
|
Adding a .travis.yml file to use the travis-ci.org
From wikipedia:
Travis CI is a hosted, distributed continuous integration service used
to build and test projects hosted at GitHub.
Travis CI is configured by adding a file named .travis.yml, which is a
YAML format text file, to the root directory of the GitHub repository.
Travis CI automatically detects when a commit has been made and pushed
to a GitHub repository that is using Travis CI, and each time this
happens, it will try to build the project and run tests. This includes
commits to all branches, not just to the master branch. When that
process has completed, it will notify a developer in the way it has been
configured to do so — for example, by sending an email containing the
test results (showing success or failure), or by posting a message on an
IRC channel. It can be configured to run the tests on a range of
different machines, with different software installed (such as older
versions of a programming language, to test for compatibility).
2013-10-17 09:10:18 -04:00
|
|
|
notifications:
|
|
|
|
email: false
|