6534c6dea4
Summary: Various renaming and fixes to get rid of remaining uses of "backupable" which is terminology leftover from the original, flawed design of BackupableDB. Now any DB can be backed up, using BackupEngine. Pull Request resolved: https://github.com/facebook/rocksdb/pull/9792 Test Plan: CI Reviewed By: ajkr Differential Revision: D35334386 Pulled By: pdillinger fbshipit-source-id: 2108a42b4575c8cccdfd791c549aae93ec2f3329
281 lines
8.9 KiB
YAML
281 lines
8.9 KiB
YAML
dist: xenial
|
|
language: cpp
|
|
os:
|
|
- linux
|
|
arch:
|
|
- arm64
|
|
- ppc64le
|
|
- s390x
|
|
compiler:
|
|
- clang
|
|
- gcc
|
|
cache:
|
|
- ccache
|
|
|
|
addons:
|
|
apt:
|
|
update: true
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- libgflags-dev
|
|
- libbz2-dev
|
|
- liblz4-dev
|
|
- libsnappy-dev
|
|
- liblzma-dev # xv
|
|
- libzstd-dev
|
|
- zlib1g-dev
|
|
|
|
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-gcc9 # 3-5 minutes
|
|
- JOB_NAME=cmake-gcc9-c++20 # 3-5 minutes
|
|
- JOB_NAME=cmake-mingw # 3 minutes
|
|
|
|
matrix:
|
|
exclude:
|
|
- os : linux
|
|
arch: arm64
|
|
env: JOB_NAME=cmake-mingw
|
|
- os: linux
|
|
arch: ppc64le
|
|
env: JOB_NAME=cmake-mingw
|
|
- os: linux
|
|
arch: s390x
|
|
env: JOB_NAME=cmake-mingw
|
|
- os: linux
|
|
compiler: clang
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: arm64
|
|
env: TEST_GROUP=platform_dependent
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os : linux
|
|
arch: arm64
|
|
env: TEST_GROUP=1
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: ppc64le
|
|
env: TEST_GROUP=1
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: s390x
|
|
env: TEST_GROUP=1
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os : linux
|
|
arch: arm64
|
|
env: TEST_GROUP=2
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: ppc64le
|
|
env: TEST_GROUP=2
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: s390x
|
|
env: TEST_GROUP=2
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os : linux
|
|
arch: arm64
|
|
env: TEST_GROUP=3
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: ppc64le
|
|
env: TEST_GROUP=3
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: s390x
|
|
env: TEST_GROUP=3
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os : linux
|
|
arch: arm64
|
|
env: TEST_GROUP=4
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: ppc64le
|
|
env: TEST_GROUP=4
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: s390x
|
|
env: TEST_GROUP=4
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os : linux
|
|
arch: arm64
|
|
env: JOB_NAME=cmake
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/ AND commit_message !~ /java/
|
|
os : linux
|
|
arch: arm64
|
|
env: JOB_NAME=java_test
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/ AND commit_message !~ /java/
|
|
os: linux
|
|
arch: ppc64le
|
|
env: JOB_NAME=java_test
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/ AND commit_message !~ /java/
|
|
os: linux
|
|
arch: s390x
|
|
env: JOB_NAME=java_test
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os : linux
|
|
arch: arm64
|
|
env: JOB_NAME=lite_build
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: ppc64le
|
|
env: JOB_NAME=lite_build
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: s390x
|
|
env: JOB_NAME=lite_build
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os : linux
|
|
arch: arm64
|
|
env: JOB_NAME=examples
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: ppc64le
|
|
env: JOB_NAME=examples
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: s390x
|
|
env: JOB_NAME=examples
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os : linux
|
|
arch: arm64
|
|
env: JOB_NAME=cmake-gcc8
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: ppc64le
|
|
env: JOB_NAME=cmake-gcc8
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: s390x
|
|
env: JOB_NAME=cmake-gcc8
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os : linux
|
|
arch: arm64
|
|
env: JOB_NAME=cmake-gcc9
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: ppc64le
|
|
env: JOB_NAME=cmake-gcc9
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: s390x
|
|
env: JOB_NAME=cmake-gcc9
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os : linux
|
|
arch: arm64
|
|
env: JOB_NAME=cmake-gcc9-c++20
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: ppc64le
|
|
env: JOB_NAME=cmake-gcc9-c++20
|
|
- if: type = pull_request AND commit_message !~ /FULL_CI/
|
|
os: linux
|
|
arch: s390x
|
|
env: JOB_NAME=cmake-gcc9-c++20
|
|
|
|
install:
|
|
- CC=gcc-7 && CXX=g++-7
|
|
- if [ "${JOB_NAME}" == cmake-gcc8 ]; then
|
|
sudo apt-get install -y g++-8 || exit $?;
|
|
CC=gcc-8 && CXX=g++-8;
|
|
fi
|
|
- if [ "${JOB_NAME}" == cmake-gcc9 ] || [ "${JOB_NAME}" == cmake-gcc9-c++20 ]; then
|
|
sudo apt-get install -y g++-9 || exit $?;
|
|
CC=gcc-9 && CXX=g++-9;
|
|
fi
|
|
- if [ "${JOB_NAME}" == cmake-mingw ]; then
|
|
sudo apt-get install -y mingw-w64 || exit $?;
|
|
fi
|
|
- if [ "${CXX}" == "g++-7" ]; then
|
|
sudo apt-get install -y g++-7 || exit $?;
|
|
fi
|
|
- |
|
|
if [[ "${JOB_NAME}" == cmake* ]]; then
|
|
sudo apt-get remove -y cmake cmake-data
|
|
export CMAKE_DEB="cmake-3.14.5-Linux-$(uname -m).deb"
|
|
export CMAKE_DEB_URL="https://rocksdb-deps.s3-us-west-2.amazonaws.com/cmake/${CMAKE_DEB}"
|
|
curl --silent --fail --show-error --location --output "${CMAKE_DEB}" "${CMAKE_DEB_URL}" || exit $?
|
|
sudo dpkg -i "${CMAKE_DEB}" || exit $?
|
|
which cmake && cmake --version
|
|
fi
|
|
- |
|
|
if [[ "${JOB_NAME}" == java_test || "${JOB_NAME}" == cmake* ]]; then
|
|
# Ensure JDK 8
|
|
sudo apt-get install -y openjdk-8-jdk || exit $?
|
|
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)
|
|
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:
|
|
- date; ${CXX} --version
|
|
- if [ `command -v ccache` ]; then ccache -C; fi
|
|
- export MK_PARALLEL=4;
|
|
if [[ "$TRAVIS_CPU_ARCH" == s390x ]]; then
|
|
export MK_PARALLEL=1;
|
|
fi
|
|
- case $TEST_GROUP in
|
|
platform_dependent)
|
|
OPT=-DTRAVIS LIB_MODE=shared V=1 ROCKSDBTESTS_PLATFORM_DEPENDENT=only make -j$MK_PARALLEL all_but_some_tests check_some
|
|
;;
|
|
1)
|
|
OPT=-DTRAVIS LIB_MODE=shared V=1 ROCKSDBTESTS_PLATFORM_DEPENDENT=exclude ROCKSDBTESTS_END=backup_engine_test make -j$MK_PARALLEL check_some
|
|
;;
|
|
2)
|
|
OPT="-DTRAVIS -DROCKSDB_NAMESPACE=alternative_rocksdb_ns" LIB_MODE=shared V=1 make -j$MK_PARALLEL tools && OPT="-DTRAVIS -DROCKSDB_NAMESPACE=alternative_rocksdb_ns" LIB_MODE=shared V=1 ROCKSDBTESTS_PLATFORM_DEPENDENT=exclude ROCKSDBTESTS_START=backup_engine_test ROCKSDBTESTS_END=db_universal_compaction_test make -j$MK_PARALLEL check_some
|
|
;;
|
|
3)
|
|
OPT=-DTRAVIS LIB_MODE=shared V=1 ROCKSDBTESTS_PLATFORM_DEPENDENT=exclude ROCKSDBTESTS_START=db_universal_compaction_test ROCKSDBTESTS_END=table_properties_collector_test make -j$MK_PARALLEL check_some
|
|
;;
|
|
4)
|
|
OPT=-DTRAVIS LIB_MODE=shared V=1 ROCKSDBTESTS_PLATFORM_DEPENDENT=exclude ROCKSDBTESTS_START=table_properties_collector_test make -j$MK_PARALLEL check_some
|
|
;;
|
|
esac
|
|
- case $JOB_NAME in
|
|
java_test)
|
|
OPT=-DTRAVIS LIB_MODE=shared V=1 make rocksdbjava jtest
|
|
;;
|
|
lite_build)
|
|
OPT='-DTRAVIS -DROCKSDB_LITE' LIB_MODE=shared V=1 make -j$MK_PARALLEL all
|
|
;;
|
|
examples)
|
|
OPT=-DTRAVIS LIB_MODE=shared V=1 make -j$MK_PARALLEL static_lib && cd examples && make -j$MK_PARALLEL
|
|
;;
|
|
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*)
|
|
case $JOB_NAME in
|
|
*-c++20)
|
|
OPT=-DCMAKE_CXX_STANDARD=20
|
|
;;
|
|
esac
|
|
|
|
mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DWITH_TESTS=0 -DWITH_GFLAGS=0 -DWITH_BENCHMARK_TOOLS=0 -DWITH_TOOLS=0 -DWITH_CORE_TOOLS=1 .. && make -j$MK_PARALLEL && cd .. && rm -rf build && mkdir build && cd build && cmake -DJNI=1 .. -DCMAKE_BUILD_TYPE=Release $OPT && make -j$MK_PARALLEL rocksdb rocksdbjni
|
|
;;
|
|
esac
|
|
notifications:
|
|
email:
|
|
- leveldb@fb.com
|