mirror of
https://github.com/libevent/libevent.git
synced 2025-01-20 05:02:55 +08:00
177 lines
4.9 KiB
YAML
177 lines
4.9 KiB
YAML
---
|
|
os:
|
|
- linux
|
|
- osx
|
|
sudo: false
|
|
dist: trusty
|
|
osx_image: xcode10.1
|
|
|
|
branches:
|
|
except:
|
|
- /.*appveyor.*/
|
|
- /.*win.*/
|
|
- /.*mingw.*/
|
|
- /.*freebsd.*/
|
|
- /.*bitrise.*/
|
|
|
|
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"
|
|
|
|
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
|
|
|
|
before_install:
|
|
- 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
|
|
|
|
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
|
|
|
|
|
|
script:
|
|
- if [ "$EVENT_BUILD_METHOD" = "autotools" ]; then
|
|
./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
|
|
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
|
|
|
|
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
|