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="-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: include: # for openssl1.1 - os: linux dist: bionic env: EVENT_BUILD_METHOD=cmake EVENT_CMAKE_OPTIONS="" compiler: gcc - os: linux dist: bionic env: EVENT_BUILD_METHOD=autotools EVENT_CONFIGURE_OPTIONS="" compiler: clang # 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 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: # do not run with clang, since it fails (SIGSEGV) - if [ "$CC" = "clang" ]; then unset COVERALLS; fi - if [ -n "$COVERALLS" ]; then pip install --user cpp-coveralls; fi - export JOBS=20 - export TIMEOUT=50 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then if [ "$CC" == "gcc" ]; then export CC=$(ls /usr/local/Cellar/gcc/*/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=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 && 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 - if [ "$TOOL" == "doxygen" ] && [ "$TRAVIS_REPO_SLUG" == "libevent/libevent" ]; then SRCDIR=$PWD GENERATE_LATEX=no GENERATE_HTML=yes doxygen; 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; cp -r html doc; cd doc; 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