dist: trusty # While 'sudo' is not used explicity, setting it to 'required' enforces full virtualization. # This is needed as container-based images fail to build Seastar due to insufficient memory. sudo: required language: cpp compiler: gcc dependencies: &seastar_deps [ "libaio-dev", "ninja-build", "ragel", "libhwloc-dev", "libnuma-dev", "libpciaccess-dev", "libcrypto++-dev", "scylla-libboost165-all-dev", "libxml2-dev", "xfslibs-dev", "libgnutls28-dev", "liblz4-dev", "libsctp-dev", "make", "libprotobuf-dev", "protobuf-compiler", "python3", "systemtap-sdt-dev", "libtool", "cmake", "libc-ares-dev", "libyaml-cpp-dev", "stow", "realpath" ] matrix: include: # GCC 7, DPDK enabled - env: DPDK_MODE="--enable-dpdk" COMPILER="g++-7" C_COMPILER="gcc-7" addons: &gcc7 apt: sources: - ubuntu-toolchain-r-test - sourceline: 'ppa:scylladb/ppa' packages: - *seastar_deps - g++-7 # GCC 7, DPDK disabled - env: DPDK_MODE="" COMPILER="g++-7" C_COMPILER="gcc-7" addons: *gcc7 # Clang 5.0, DPDK disabled # Suppress unused lambda capture warning due to a Clang bug (see https://reviews.llvm.org/rL296602) # Suppress missing braces warning due to a Clang bug (see https://bugs.llvm.org/show_bug.cgi?id=21629) # Need g++-7 to bring up-to-date libstdc++ in - env: DPDK_MODE="" COMPILER="clang++-5.0" C_COMPILER="clang-5.0" CFLAGS="-Wno-unused-lambda-capture -Wno-missing-braces" compiler: clang addons: &clang50 apt: sources: - ubuntu-toolchain-r-test - llvm-toolchain-trusty-5.0 - sourceline: 'ppa:scylladb/ppa' packages: - *seastar_deps - clang-5.0 - g++-7 before_script: - ./configure.py --mode=release ${DPDK_MODE} --compiler=${COMPILER} --c-compiler=${C_COMPILER} --c++-dialect="gnu++17" --cflags="-I/opt/scylladb/include/ $CFLAGS" --ldflags="-L/opt/scylladb/lib/x86_64-linux-gnu/" script: - ninja -j`nproc --all`