libevent/.travis.yml

177 lines
4.9 KiB
YAML
Raw Normal View History

---
os:
- linux
- osx
sudo: false
dist: trusty
osx_image: xcode10.1
2016-11-01 23:39:41 +03:00
2018-11-05 18:02:05 +03:00
branches:
except:
- /.*appveyor.*/
- /.*win.*/
- /.*mingw.*/
- /.*freebsd.*/
- /.*bitrise.*/
2018-11-05 18:02:05 +03:00
git:
quiet: true
env:
matrix:
- 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"
2016-11-01 23:39:41 +03:00
matrix:
include:
# clang
- os: linux
env: EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS=""
compiler: clang
- os: linux
env: EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS=""
compiler: clang
# coveralls
- os: linux
env: EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__COVERAGE=ON -DCMAKE_BUILD_TYPE=debug" COVERALLS=yes
# test-export
- os: linux
env: EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=STATIC -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON" TEST_EXPORT=STATIC
- os: linux
env: EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=SHARED -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON" TEST_EXPORT=SHARED
# for openssl1.1
- os: linux
dist: bionic
env: EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="" OPENSSL_1_1=yes
# deploy documentation to github pages
- os: linux
env: TOOL=doxygen
addons:
apt:
packages:
- doxygen
- doxygen-doc
- doxygen-latex
- doxygen-gui
- graphviz
- cmake
branches:
only:
- master
if: repo = libevent/libevent AND branch = master AND type != pull_request
fast_finish: true
language: c
# osx will use Apple LLVM clang, but we are fine with this,
# since we just use default compiler.
compiler: gcc
2016-11-01 23:39:41 +03:00
before_install:
2016-11-01 23:39:41 +03:00
- if [ -n "$COVERALLS" ]; then
pip install --user cpp-coveralls;
fi
- export JOBS=20
- export TIMEOUT=50
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
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=1;
fi
2016-11-01 23:39:41 +03:00
addons:
apt:
sources:
- xenial
- sourceline: 'deb http://archive.ubuntu.com/ubuntu xenial main'
packages:
- zlib1g-dev
- libssl-dev
- build-essential
- automake
- autoconf
- cmake
- lcov
homebrew:
packages:
- openssl
- lcov
- libtool
- gcc
2016-11-01 23:39:41 +03:00
script:
- if [ "$EVENT_BUILD_METHOD" = "autotools" ]; then
2020-01-13 22:24:54 +03:00
./autogen.sh;
./configure $EVENT_CONFIGURE_OPTIONS;
time make -j $JOBS;
time 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;
if [ "$TEST_EXPORT" == "STATIC" ]; then
cmake --build .;
sudo python3 ../test-export/test-export.py static;
elif [ "$TEST_EXPORT" == "SHARED" ]; then
cmake --build .;
sudo python3 ../test-export/test-export.py shared;
else
2020-01-13 22:24:54 +03:00
time cmake --build .;
time cmake --build . --target verify;
fi
fi
- if [ "$TOOL" == "doxygen" ]; then
eval "$(ssh-agent -s)";
openssl aes-256-cbc
-K $encrypted_82aa789583ed_key
-iv $encrypted_82aa789583ed_iv
-in .github/travis-ci-key.enc
-out .github/travis-ci-key -d;
chmod 600 .github/travis-ci-key;
ssh-add .github/travis-ci-key;
mkdir build &&
cd build &&
cmake -DEVENT__DOXYGEN=ON .. &&
cmake --build . --target doxygen;
cd doxygen/html;
git init;
git add -f .;
git commit -am "Update documentation ($TRAVIS_REPO_SLUG@$TRAVIS_COMMIT)";
git push -f git@github.com:libevent/doc.git master;
fi
2016-11-01 23:39:41 +03:00
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