libevent/.travis.yml
Azat Khuzhin 5d3e8c15e7
Use matrix.fast_finish for the travis-ci to mark the build ASAP
AFAIR there is shortage of osx workers on travis-ci, IOW builds that
requires them can wait fair amount of time in the queue by just waiting.

Plus linux workers AFAICS can run multiple jobs in parallel (4-5), while
osx does not.

Hence if we do allow failures for osx (and right now they have a lot of
failed tests) let's mark build result based on tests under linux only.

So in a nut shell this will reduce build time from 5 hours to 20-30
minutes.
2018-10-22 01:10:17 +03:00

111 lines
2.9 KiB
YAML

os:
- linux
- osx
sudo: false
dist: trusty
git:
quiet: true
env:
matrix:
- EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__COVERAGE=ON -DCMAKE_BUILD_TYPE=debug" COVERALLS=yes
- EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS=""
- EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON"
- EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_THREAD_SUPPORT=ON"
- EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_DEBUG_MODE=ON"
- EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_MM_REPLACEMENT=ON"
- EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS=""
- EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-openssl"
- EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-thread-support"
- EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-debug-mode"
- EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="--disable-malloc-replacement"
matrix:
exclude:
- os: osx
env: EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__COVERAGE=ON -DCMAKE_BUILD_TYPE=debug" COVERALLS=yes
allow_failures:
- os: osx
fast_finish: true
language: c
compiler:
- gcc
- clang
before_install:
- if [ -n "$COVERALLS" ]; then
pip install --user cpp-coveralls;
fi
- export JOBS=20
- export TIMEOUT=50
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
brew update;
brew uninstall libtool && brew install libtool;
brew install openssl;
brew install lcov;
if [ "$CC" == "gcc" ]; then
export CC=$(ls -t /usr/local/bin/gcc-?.?);
fi
export OPENSSL_ROOT=$(echo /usr/local/Cellar/openssl/*);
export
CMAKE_INCLUDE_PATH=$OPENSSL_ROOT/include
CMAKE_LIBRARY_PATH=$OPENSSL_ROOT/lib;
export
CFLAGS=-I$CMAKE_INCLUDE_PATH
LDFLAGS=-L$CMAKE_LIBRARY_PATH;
export JOBS=4;
fi
addons:
apt:
sources:
- xenial
- sourceline: 'deb http://archive.ubuntu.com/ubuntu xenial main'
packages:
- zlib1g-dev
- libssl-dev
- build-essential
- automake
- autoconf
- cmake
- lcov
script:
- if [ "$EVENT_BUILD_METHOD" = "autotools" ]; then
./autogen.sh &&
./configure $EVENT_CONFIGURE_OPTIONS &&
make &&
travis_wait $TIMEOUT make -j $JOBS verify;
fi
- if [ "$EVENT_BUILD_METHOD" = "cmake" ]; then
export
CTEST_PARALLEL_LEVEL=$JOBS
CTEST_OUTPUT_ON_FAILURE=1;
mkdir build &&
cd build &&
cmake .. $EVENT_CMAKE_OPTIONS &&
travis_wait $TIMEOUT
cmake --build . --target verify;
fi
after_script:
- if [ -n "$COVERALLS" ]; then
coveralls
--build-root .
--root ..
--exclude test
--exclude sample
--exclude cmake
--exclude build/CMakeFiles/CheckTypeSize
--exclude build/CMakeFiles/CompilerIdC
--gcov-options '\-lp';
fi
notifications:
irc: "irc.oftc.net#libevent"