]> git.proxmox.com Git - ceph.git/blame - ceph/src/rocksdb/.travis.yml
import 14.2.4 nautilus point release
[ceph.git] / ceph / src / rocksdb / .travis.yml
CommitLineData
7c673cae
FG
1sudo: false
2dist: trusty
3language: cpp
4os:
5 - linux
6 - osx
7compiler:
8 - clang
9 - gcc
11fdf7f2 10osx_image: xcode8.3
7c673cae
FG
11jdk:
12 - oraclejdk7
13cache:
14 - ccache
15 - apt
16
17addons:
11fdf7f2
TL
18 apt:
19 sources:
20 - ubuntu-toolchain-r-test
21 packages:
22 - curl
23 - g++-8
24 - libbz2-dev
25 - libgflags-dev
26 - libsnappy-dev
27 - mingw-w64
28 - zlib1g-dev
7c673cae 29env:
11fdf7f2
TL
30 - TEST_GROUP=platform_dependent # 16-18 minutes
31 - TEST_GROUP=1 # 33-35 minutes
32 - TEST_GROUP=2 # 18-20 minutes
33 - TEST_GROUP=3 # 20-22 minutes
34 - TEST_GROUP=4 # 12-14 minutes
7c673cae 35 # Run java tests
11fdf7f2 36 - JOB_NAME=java_test # 4-11 minutes
7c673cae 37 # Build ROCKSDB_LITE
11fdf7f2 38 - JOB_NAME=lite_build # 3-4 minutes
7c673cae 39 # Build examples
11fdf7f2
TL
40 - JOB_NAME=examples # 5-7 minutes
41 - JOB_NAME=cmake # 3-5 minutes
42 - JOB_NAME=cmake-gcc8 # 3-5 minutes
43 - JOB_NAME=cmake-mingw # 3 minutes
7c673cae
FG
44
45matrix:
46 exclude:
7c673cae
FG
47 - os: osx
48 env: TEST_GROUP=1
49 - os: osx
50 env: TEST_GROUP=2
11fdf7f2
TL
51 - os: osx
52 env: TEST_GROUP=3
53 - os: osx
54 env: TEST_GROUP=4
55 - os: osx
56 env: JOB_NAME=cmake-gcc8
57 - os : osx
58 env: JOB_NAME=cmake-mingw
59 - os : linux
60 compiler: clang
61 - os : osx
62 compiler: gcc
63
64# https://docs.travis-ci.com/user/caching/#ccache-cache
65install:
66 - if [ "${TRAVIS_OS_NAME}" == osx ]; then
67 brew install ccache zstd lz4 snappy xz;
68 PATH=$PATH:/usr/local/opt/ccache/libexec;
69 fi
70 - if [ "${JOB_NAME}" == cmake-gcc8 ]; then
71 CC=gcc-8 && CXX=g++-8;
72 fi
73 - if [[ "${JOB_NAME}" == cmake* ]] && [ "${TRAVIS_OS_NAME}" == linux ]; then
74 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;
75 fi
7c673cae
FG
76
77before_script:
11fdf7f2
TL
78 # Increase the maximum number of open file descriptors, since some tests use
79 # more FDs than the default limit.
80 - ulimit -n 8192
7c673cae
FG
81
82script:
83 - ${CXX} --version
11fdf7f2
TL
84 - if [ `command -v ccache` ]; then ccache -C; fi
85 - case $TEST_GROUP in
86 platform_dependent)
87 OPT=-DTRAVIS V=1 ROCKSDBTESTS_END=db_block_cache_test make -j4 all_but_some_tests check_some
88 ;;
89 1)
90 OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=db_block_cache_test ROCKSDBTESTS_END=full_filter_block_test make -j4 check_some
91 ;;
92 2)
494da23a 93 OPT=-DTRAVIS V=1 make -j4 tools && OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=full_filter_block_test ROCKSDBTESTS_END=write_batch_with_index_test make -j4 check_some
11fdf7f2
TL
94 ;;
95 3)
96 OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=write_batch_with_index_test ROCKSDBTESTS_END=write_prepared_transaction_test make -j4 check_some
97 ;;
98 4)
99 OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=write_prepared_transaction_test make -j4 check_some
100 ;;
101 esac
102 - case $JOB_NAME in
103 java_test)
104 OPT=-DTRAVIS V=1 make clean jclean && make rocksdbjava jtest
105 ;;
106 lite_build)
107 OPT='-DTRAVIS -DROCKSDB_LITE' V=1 make -j4 static_lib tools
108 ;;
109 examples)
110 OPT=-DTRAVIS V=1 make -j4 static_lib && cd examples && make -j4
111 ;;
112 cmake-mingw)
113 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
114 ;;
115 cmake*)
116 mkdir build && cd build && cmake -DJNI=1 .. -DCMAKE_BUILD_TYPE=Release && make -j4 rocksdb rocksdbjni
117 ;;
118 esac
7c673cae
FG
119notifications:
120 email:
121 - leveldb@fb.com
122 webhooks:
123 - https://buildtimetrend.herokuapp.com/travis