sudo: false language: cpp matrix: - JOB_NAME=unittests - JOB_NAME=jtest - JOB_NAME=lite_build include: - os: linux compiler: clang env: COMPILER=clang++-3.6 addons: apt: sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.6'] packages: ['clang-3.6', 'clang-format-3.6', 'zlib1g-dev', 'libbz2-dev', 'libsnappy-dev', 'curl'] - os: osx compiler: clang install: # Build gflags # TODO(noetzli): Remove when gflags available through Travis - pushd /tmp/ && curl -L https://github.com/gflags/gflags/archive/v2.1.2.tar.gz -o gflags.tar.gz && tar xfz gflags.tar.gz && cd gflags-2.1.2 && cmake . && make && popd # Download clang-format-diff.py to check source code formatting - pushd /tmp/ && curl -L http://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/clang-format-diff.py -o clang-format-diff.py && chmod +x clang-format-diff.py && popd before_script: # Add gflags to include/library paths # TODO(noetzli): Remove when gflags available through Travis - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/tmp/gflags-2.1.2/lib" - export LIBRARY_PATH="$LIBRARY_PATH:/tmp/gflags-2.1.2/lib" - export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:/tmp/gflags-2.1.2/include" - if [ -n "${COMPILER}" ]; then CXX=${COMPILER}; fi - if [[ "${TRAVIS_OS_NAME}" == 'osx' ]]; then brew install gflags snappy; fi - ulimit -n 2000 || true # Lousy hack to disable use and testing of fallocate, which doesn't behave quite # as EnvPosixTest::AllocateTest expects within the Travis OpenVZ environment. script: - if [[ "${TRAVIS_OS_NAME}" == 'linux' ]]; then OPT=-DTRAVIS CLANG_FORMAT_DIFF=/tmp/clang-format-diff.py make format || true; fi - if [[ "${JOB_NAME}" == 'unittests' ]]; then OPT=-DTRAVIS V=1 make -j4 check; fi - if [[ "${JOB_NAME}" == 'jtest' ]]; then OPT=-DTRAVIS V=1 make clean jclean rocksdbjava jtest; fi - if [[ "${JOB_NAME}" == 'lite_build' ]]; then OPT="-DTRAVIS -DROCKSDB_LITE" V=1 make -j4 static_lib; fi notifications: email: - leveldb@fb.com webhooks: - https://buildtimetrend.herokuapp.com/travis