1dist: xenial 2os: 3 - linux 4compiler: 5 - clang 6 - gcc 7env: 8 matrix: 9 - CI_BUILD=cmake 10 - CI_BUILD=autotools 11matrix: 12 include: 13 - os: osx 14 compiler: clang 15 osx_image: xcode10.2 16 env: CI_BUILD=autotools 17language: cpp 18sudo: required 19addons: 20 apt: 21 sources: 22 - ubuntu-toolchain-r-test 23 packages: 24 - g++-8 25 - autoconf 26 - automake 27 - autotools-dev 28 - libtool 29 - pkg-config 30 - zlib1g-dev 31 - libcunit1-dev 32 - libssl-dev 33 - libxml2-dev 34 - libev-dev 35 - libevent-dev 36 - libjansson-dev 37 - libjemalloc-dev 38 - libc-ares-dev 39 - cmake 40 - cmake-data 41 homebrew: 42 packages: 43 - libev 44 - libevent 45 - c-ares 46 - cunit 47 - libressl 48before_install: 49 - $CC --version 50 - if [ "$CXX" = "g++" ]; then export CXX="g++-8" CC="gcc-8"; fi 51 - $CC --version 52 - go version 53 - cmake --version 54before_script: 55 - | 56 if [ "$TRAVIS_OS_NAME" = "linux" ]; then 57 CPPFLAGS="-fsanitize=address" LDFLAGS="-fsanitize=address -fuse-ld=gold" 58 fi 59 - | 60 if [ "$TRAVIS_OS_NAME" = "osx" ]; then 61 PKG_CONFIG_PATH="/usr/local/opt/libressl/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig" 62 fi 63 # Now build nghttp2 64 - git submodule update --init 65 - | 66 if [ "$CI_BUILD" = "autotools" ]; then 67 autoreconf -i && ./configure --with-mruby PKG_CONFIG_PATH=$PKG_CONFIG_PATH 68 fi 69 - | 70 if [ "$CI_BUILD" = "cmake" ]; then 71 cmake -DENABLE_WERROR=1 -DWITH_MRUBY=1 -DWITH_NEVERBLEED=1 72 fi 73script: 74 - | 75 if [ "$CI_BUILD" = "autotools" ]; then 76 make distcheck DISTCHECK_CONFIGURE_FLAGS="--with-mruby --with-neverbleed --enable-werror CPPFLAGS=$CPPFLAGS LDFLAGS=\"$LDFLAGS\" PKG_CONFIG_PATH=$PKG_CONFIG_PATH" 77 fi 78 - | 79 if [ "$CI_BUILD" = "cmake" ]; then 80 make && make check 81 fi 82 - | 83 if [ "$CI_BUILD" = "cmake" ]; then 84 # Integration tests for nghttpx; autotools build erases build 85 # for packaging test. 86 cd integration-tests 87 export GO111MODULE=on 88 make it 89 fi 90