diff options
Diffstat (limited to 'src/rocksdb/.travis.yml')
-rw-r--r-- | src/rocksdb/.travis.yml | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/src/rocksdb/.travis.yml b/src/rocksdb/.travis.yml new file mode 100644 index 000000000..300d729eb --- /dev/null +++ b/src/rocksdb/.travis.yml @@ -0,0 +1,137 @@ +dist: xenial +language: cpp +os: + - linux + - osx +compiler: + - clang + - gcc +osx_image: xcode9.4 +jdk: + - openjdk7 +cache: + - ccache + +addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libgflags-dev + - libbz2-dev + - liblz4-dev + - libsnappy-dev + - liblzma-dev # xv + - libzstd-dev + - zlib1g-dev + homebrew: + update: true + packages: + - ccache + - gflags + - lz4 + - snappy + - xz + - zstd + +env: + - TEST_GROUP=platform_dependent # 16-18 minutes + - TEST_GROUP=1 # 33-35 minutes + - TEST_GROUP=2 # 18-20 minutes + - TEST_GROUP=3 # 20-22 minutes + - TEST_GROUP=4 # 12-14 minutes + # Run java tests + - JOB_NAME=java_test # 4-11 minutes + # Build ROCKSDB_LITE + - JOB_NAME=lite_build # 3-4 minutes + # Build examples + - JOB_NAME=examples # 5-7 minutes + - JOB_NAME=cmake # 3-5 minutes + - JOB_NAME=cmake-gcc8 # 3-5 minutes + - JOB_NAME=cmake-mingw # 3 minutes + +matrix: + exclude: + - os: osx + env: TEST_GROUP=1 + - os: osx + env: TEST_GROUP=2 + - os: osx + env: TEST_GROUP=3 + - os: osx + env: TEST_GROUP=4 + - os: osx + env: JOB_NAME=cmake-gcc8 + - os : osx + env: JOB_NAME=cmake-mingw + - os : linux + compiler: clang + - os : osx + compiler: gcc + +install: + - if [ "${TRAVIS_OS_NAME}" == osx ]; then + PATH=$PATH:/usr/local/opt/ccache/libexec; + fi + - if [ "${JOB_NAME}" == cmake-gcc8 ]; then + sudo apt-get install -y g++-8; + CC=gcc-8 && CXX=g++-8; + fi + - if [ "${JOB_NAME}" == cmake-mingw ]; then + sudo apt-get install -y mingw-w64 ; + fi + - if [[ "${JOB_NAME}" == cmake* ]] && [ "${TRAVIS_OS_NAME}" == linux ]; then + CMAKE_DIST_URL="https://rocksdb-deps.s3-us-west-2.amazonaws.com/cmake/cmake-3.14.5-Linux-$(uname -m).tar.bz2"; + TAR_OPT="--strip-components=1 -xj"; + mkdir cmake-dist && curl --silent --fail --show-error --location "${CMAKE_DIST_URL}" | tar -C cmake-dist ${TAR_OPT} && export PATH=$PWD/cmake-dist/bin:$PATH; + fi + - if [[ "${JOB_NAME}" == java_test ]]; then + java -version && echo "JAVA_HOME=${JAVA_HOME}"; + fi + +before_script: + # Increase the maximum number of open file descriptors, since some tests use + # more FDs than the default limit. + - ulimit -n 8192 + +script: + - ${CXX} --version + - if [ `command -v ccache` ]; then ccache -C; fi + - case $TEST_GROUP in + platform_dependent) + OPT=-DTRAVIS V=1 ROCKSDBTESTS_END=db_block_cache_test make -j4 all_but_some_tests check_some + ;; + 1) + OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=db_block_cache_test ROCKSDBTESTS_END=db_iter_test make -j4 check_some + ;; + 2) + OPT="-DTRAVIS -DROCKSDB_NAMESPACE=alternative_rocksdb_ns" V=1 make -j4 tools && OPT="-DTRAVIS -DROCKSDB_NAMESPACE=alternative_rocksdb_ns" V=1 ROCKSDBTESTS_START=db_iter_test ROCKSDBTESTS_END=options_file_test make -j4 check_some + ;; + 3) + OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=options_file_test ROCKSDBTESTS_END=write_prepared_transaction_test make -j4 check_some + ;; + 4) + OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=write_prepared_transaction_test make -j4 check_some + ;; + esac + - case $JOB_NAME in + java_test) + OPT=-DTRAVIS V=1 make rocksdbjava jtest + ;; + lite_build) + OPT='-DTRAVIS -DROCKSDB_LITE' V=1 make -j4 static_lib tools + ;; + examples) + OPT=-DTRAVIS V=1 make -j4 static_lib && cd examples && make -j4 + ;; + cmake-mingw) + sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix; + mkdir build && cd build && cmake -DJNI=1 -DWITH_GFLAGS=OFF .. -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -DCMAKE_SYSTEM_NAME=Windows && make -j4 rocksdb rocksdbjni + ;; + cmake*) + mkdir build && cd build && cmake -DJNI=1 .. -DCMAKE_BUILD_TYPE=Release && make -j4 rocksdb rocksdbjni + ;; + esac +notifications: + email: + - leveldb@fb.com |