From 49f35d3fc940a1e2d599d6ee3306eeb31a205e4b Mon Sep 17 00:00:00 2001 From: costan Date: Fri, 9 Mar 2018 15:29:12 -0800 Subject: [PATCH] leveldb: Update Travis CI configuration for open source build. This aligns the Travis CI configuration with google/crc32c and google/snappy, to simplify maintenance. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=188547648 --- .travis.yml | 57 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index f5bd74c..77ea0a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,54 @@ +# Build matrix / environment variable are explained on: +# http://about.travis-ci.org/docs/user/build-configuration/ +# This file can be validated on: http://lint.travis-ci.org/ + +sudo: false +dist: trusty language: cpp + compiler: -- clang -- gcc + - gcc + - clang os: -- linux -- osx -sudo: false -before_install: -- echo $LANG -- echo $LC_ALL + - linux + - osx + +addons: + apt: + # List of whitelisted in travis packages for ubuntu-trusty can be found here: + # https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-trusty + # List of whitelisted in travis apt-sources: + # https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-5.0 + packages: + - gcc-7 + - g++-7 + - clang-5.0 + - libgoogle-perftools-dev + - libkyotocabinet-dev + - libsnappy-dev + - libsqlite3-dev + +install: +# Travis doesn't have a DSL for installing homebrew packages yet. Status tracked +# in https://github.com/travis-ci/travis-ci/issues/5377 +# The Travis VM image for Mac already has a link at /usr/local/include/c++, +# causing Homebrew's gcc@7 installation to error out. This was reported to +# Homebrew maintainers at https://github.com/Homebrew/brew/issues/1742 and +# removing the link emerged as a workaround. +- if [ "$TRAVIS_OS_NAME" == "osx" ]; then + brew update; + if [ -L /usr/local/include/c++ ]; then rm /usr/local/include/c++; fi; + brew install gcc@7; + brew install crc32c gperftools kyoto-cabinet snappy sqlite3; + fi +# /usr/bin/gcc is stuck to old versions on both Linux and OSX. +- if [ "$CXX" = "g++" ]; then export CXX="g++-7" CC="gcc-7"; fi +- echo ${CC} +- echo ${CXX} +- ${CXX} --version + script: - make -j 4 check