]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | sudo: false |
2 | dist: trusty | |
3 | language: cpp | |
4 | os: | |
5 | - linux | |
6 | - osx | |
7 | compiler: | |
8 | - clang | |
9 | - gcc | |
11fdf7f2 | 10 | osx_image: xcode8.3 |
7c673cae FG |
11 | jdk: |
12 | - oraclejdk7 | |
13 | cache: | |
14 | - ccache | |
15 | - apt | |
16 | ||
17 | addons: | |
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 | 29 | env: |
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 | |
45 | matrix: | |
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 | |
65 | install: | |
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 | |
77 | before_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 | |
82 | script: | |
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 |
119 | notifications: |
120 | email: | |
121 | - leveldb@fb.com | |
122 | webhooks: | |
123 | - https://buildtimetrend.herokuapp.com/travis |