• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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