2015-09-10 00:55:33 +00:00
sudo : false
2017-01-09 21:45:04 +00:00
dist : trusty
2014-05-11 04:18:23 +00:00
language : cpp
2016-04-12 22:05:56 +00:00
os :
2016-06-30 21:34:50 +00:00
- linux
2016-04-12 22:05:56 +00:00
- osx
2017-06-05 22:34:40 +00:00
compiler :
- clang
- gcc
2017-06-01 17:11:23 +00:00
osx_image : xcode8.3
2016-11-16 18:36:49 +00:00
jdk :
- oraclejdk7
2017-01-09 21:45:04 +00:00
cache :
- ccache
- apt
2015-09-10 00:55:33 +00:00
2016-04-12 22:05:56 +00:00
addons :
apt :
2017-05-30 17:32:16 +00:00
packages : [ 'zlib1g-dev' , 'libbz2-dev' , 'libsnappy-dev' , 'curl' , 'libgflags-dev' , 'mingw-w64' ]
2016-04-12 22:05:56 +00:00
env :
2017-05-30 17:32:16 +00:00
- TEST_GROUP=platform_dependent # 16-18 minutes
- TEST_GROUP=1 # 33-35 minutes
2018-03-14 01:47:38 +00:00
- TEST_GROUP=2 # 18-20 minutes
- TEST_GROUP=3 # 20-22 minutes
- TEST_GROUP=4 # 12-14 minutes
2016-04-13 21:22:29 +00:00
# Run java tests
2017-05-30 17:32:16 +00:00
- JOB_NAME=java_test # 4-11 minutes
2016-04-13 21:22:29 +00:00
# Build ROCKSDB_LITE
2017-05-30 17:32:16 +00:00
- JOB_NAME=lite_build # 3-4 minutes
2017-04-07 17:36:09 +00:00
# Build examples
2017-05-30 17:32:16 +00:00
- JOB_NAME=examples # 5-7 minutes
- JOB_NAME=cmake # 3-5 minutes
- JOB_NAME=cmake-mingw # 3 minutes
2015-09-10 01:53:55 +00:00
2017-01-09 21:45:04 +00:00
matrix :
exclude :
2017-02-27 19:04:27 +00:00
- os : osx
env : TEST_GROUP=1
- os : osx
env : TEST_GROUP=2
2017-08-31 16:27:14 +00:00
- os : osx
env : TEST_GROUP=3
2018-03-14 01:47:38 +00:00
- os : osx
env : TEST_GROUP=4
2017-05-05 23:09:24 +00:00
- os : osx
env : JOB_NAME=cmake-mingw
2017-06-05 22:34:40 +00:00
- os : linux
compiler : clang
- os : osx
compiler : gcc
2017-05-30 17:32:16 +00:00
# https://docs.travis-ci.com/user/caching/#ccache-cache
install :
- if [ "${TRAVIS_OS_NAME}" == osx ]; then
2018-06-15 23:42:35 +00:00
brew install ccache zstd lz4 snappy xz;
2017-05-30 17:32:16 +00:00
PATH=$PATH:/usr/local/opt/ccache/libexec;
fi
2017-11-28 20:13:20 +00:00
- if [[ "${JOB_NAME}" == cmake* ]] && [ "${TRAVIS_OS_NAME}" == linux ]; then
mkdir cmake-dist && curl -sfSL https://cmake.org/files/v3.8/cmake-3.8.1-Linux-x86_64.tar.gz | tar --strip-components=1 -C cmake-dist -xz && export PATH=$PWD/cmake-dist/bin:$PATH;
fi
2016-04-13 21:22:29 +00:00
2015-09-10 01:53:55 +00:00
before_script :
2017-05-30 17:32:16 +00:00
# Increase the maximum number of open file descriptors, since some tests use
# more FDs than the default limit.
- ulimit -n 8192
2015-09-10 00:55:33 +00:00
2015-09-18 17:15:02 +00:00
script :
2017-01-09 21:45:04 +00:00
- ${CXX} --version
2017-10-11 05:13:39 +00:00
- if [ `command -v ccache` ]; then ccache -C; fi
- if [ "${TEST_GROUP}" == 'platform_dependent' ]; then OPT=-DTRAVIS V=1 ROCKSDBTESTS_END=db_block_cache_test make -j4 all_but_some_tests check_some; fi
2018-03-14 01:47:38 +00:00
- if [ "${TEST_GROUP}" == '1' ]; then OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=db_block_cache_test ROCKSDBTESTS_END=full_filter_block_test make -j4 check_some; fi
- if [ "${TEST_GROUP}" == '2' ]; then OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=full_filter_block_test ROCKSDBTESTS_END=write_batch_with_index_test make -j4 check_some; fi
- if [ "${TEST_GROUP}" == '3' ]; then OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=write_batch_with_index_test ROCKSDBTESTS_END=write_prepared_transaction_test make -j4 check_some; fi
- if [ "${TEST_GROUP}" == '4' ]; then OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=write_prepared_transaction_test make -j4 check_some; fi
2017-05-30 17:32:16 +00:00
- if [ "${JOB_NAME}" == 'java_test' ]; then OPT=-DTRAVIS V=1 make clean jclean && make rocksdbjava jtest; fi
2017-10-17 15:49:11 +00:00
- if [ "${JOB_NAME}" == 'lite_build' ]; then OPT="-DTRAVIS -DROCKSDB_LITE" V=1 make -j4 static_lib tools; fi
2017-05-30 17:32:16 +00:00
- if [ "${JOB_NAME}" == 'examples' ]; then OPT=-DTRAVIS V=1 make -j4 static_lib; cd examples; make -j4; fi
2017-11-28 20:13:20 +00:00
- if [ "${JOB_NAME}" == 'cmake' ]; then mkdir build && cd build && cmake -DJNI=1 .. && make -j4 rocksdb rocksdbjni; fi
- if [ "${JOB_NAME}" == 'cmake-mingw' ]; then mkdir build && cd build && cmake -DJNI=1 .. -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -DCMAKE_SYSTEM_NAME=Windows && make -j4 rocksdb rocksdbjni; fi
2014-05-14 23:08:02 +00:00
notifications :
2015-09-10 03:30:00 +00:00
email :
- leveldb@fb.com
2015-09-10 00:55:33 +00:00
webhooks :
- https://buildtimetrend.herokuapp.com/travis