summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcostan <costan@google.com>2018-03-09 15:29:12 -0800
committerVictor Costan <pwnall@chromium.org>2018-03-09 15:49:36 -0800
commit49f35d3fc940a1e2d599d6ee3306eeb31a205e4b (patch)
tree5f3a2be1466c768016309187d11a4a09396c9b54
parent623d014a54f8cf9b74ad6aaba9181ca1e65c43a1 (diff)
downloadleveldb-49f35d3fc940a1e2d599d6ee3306eeb31a205e4b.tar.gz
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
-rw-r--r--.travis.yml57
1 files 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