Summary: In the `.travis.yml` file the `jdk: openjdk7` element is ignored when `language: cpp`. So whatever version of the JDK that was installed in the Travis container was used - typically JDK 11. To ensure our RocksJava builds are working, we now instead install and use OpenJDK 8. Ideally we would use OpenJDK 7, as RocksJava supports Java 7, but many of the newer Travis containers don't support Java 7, so Java 8 is the next best thing. Pull Request resolved: https://github.com/facebook/rocksdb/pull/6512 Differential Revision: D20388296 Pulled By: pdillinger fbshipit-source-id: 8bbe6b59b70cfab7fe81ff63867d907fefdd2df1
157 lines
4.4 KiB
YAML
157 lines
4.4 KiB
YAML
dist: xenial
|
|
language: cpp
|
|
os:
|
|
- linux
|
|
- osx
|
|
arch:
|
|
- amd64
|
|
- ppc64le
|
|
compiler:
|
|
- clang
|
|
- gcc
|
|
osx_image: xcode9.4
|
|
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: osx
|
|
arch: ppc64le
|
|
- os: osx
|
|
compiler: gcc
|
|
- os: linux
|
|
arch: ppc64le
|
|
env: JOB_NAME=cmake-mingw
|
|
- os: linux
|
|
compiler: clang
|
|
|
|
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://github.com/pdillinger/rocksdb/releases/download/cmake-3.14.5/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 || "${JOB_NAME}" == cmake* ]]; then
|
|
# Ensure JDK 8
|
|
if [ "${TRAVIS_OS_NAME}" == osx ]; then
|
|
brew tap AdoptOpenJDK/openjdk
|
|
brew cask install adoptopenjdk8
|
|
export JAVA_HOME=$(/usr/libexec/java_home)
|
|
else
|
|
sudo apt-get install -y openjdk-8-jdk
|
|
export PATH=/usr/lib/jvm/java-8-openjdk-$(dpkg --print-architecture)/bin:$PATH
|
|
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-$(dpkg --print-architecture)
|
|
fi
|
|
echo "JAVA_HOME=${JAVA_HOME}"
|
|
which java && java -version
|
|
which javac && javac -version
|
|
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
|