.travis.yml 2.7 KB
Newer Older
I
Igor Canadi 已提交
1
sudo: false
D
Daniel Black 已提交
2
dist: trusty
3
language: cpp
I
Islam AbdelRahman 已提交
4
os:
I
Islam AbdelRahman 已提交
5
  - linux
I
Islam AbdelRahman 已提交
6
  - osx
7 8 9
compiler:
  - clang
  - gcc
10
osx_image: xcode8.3
A
Adam Retter 已提交
11 12
jdk:
  - oraclejdk7
D
Daniel Black 已提交
13 14 15
cache:
  - ccache
  - apt
I
Igor Canadi 已提交
16

I
Islam AbdelRahman 已提交
17 18
addons:
   apt:
19
      packages: ['zlib1g-dev', 'libbz2-dev', 'libsnappy-dev', 'curl', 'libgflags-dev', 'mingw-w64']
I
Islam AbdelRahman 已提交
20
env:
21 22 23
  - TEST_GROUP=platform_dependent # 16-18 minutes
  - TEST_GROUP=1 # 33-35 minutes
  - TEST_GROUP=2 # 30-32 minutes
24
  - TEST_GROUP=3 # ? minutes - under development
I
Islam AbdelRahman 已提交
25
  # Run java tests
26
  - JOB_NAME=java_test # 4-11 minutes
I
Islam AbdelRahman 已提交
27
  # Build ROCKSDB_LITE
28
  - JOB_NAME=lite_build # 3-4 minutes
V
Volker Mische 已提交
29
  # Build examples
30 31 32
  - JOB_NAME=examples # 5-7 minutes
  - JOB_NAME=cmake # 3-5 minutes
  - JOB_NAME=cmake-mingw # 3 minutes
I
Igor Canadi 已提交
33

D
Daniel Black 已提交
34 35
matrix:
  exclude:
S
Siying Dong 已提交
36 37 38 39
  - os: osx
    env: TEST_GROUP=1
  - os: osx
    env: TEST_GROUP=2
40 41
  - os: osx
    env: TEST_GROUP=3
42 43
  - os : osx
    env: JOB_NAME=cmake-mingw
44 45 46 47
  - os : linux
    compiler: clang
  - os : osx
    compiler: gcc
48 49 50 51 52 53 54

# https://docs.travis-ci.com/user/caching/#ccache-cache
install:
  - if [ "${TRAVIS_OS_NAME}" == osx ]; then
      brew install ccache;
      PATH=$PATH:/usr/local/opt/ccache/libexec;
    fi
I
Islam AbdelRahman 已提交
55

I
Igor Canadi 已提交
56
before_script:
57 58 59
  # Increase the maximum number of open file descriptors, since some tests use
  # more FDs than the default limit.
  - ulimit -n 8192
I
Igor Canadi 已提交
60

A
Andres Noetzli 已提交
61
script:
D
Daniel Black 已提交
62
  - ${CXX} --version
63 64
  - if [ `command -v ccache` ]; then ccache -C; fi
  - if [ "${TEST_GROUP}" == 'platform_dependent' ]; then OPT=-DTRAVIS V=1 ROCKSDBTESTS_END=db_block_cache_test make -j4 all_but_some_tests check_some; fi
65
  - if [ "${TEST_GROUP}" == '1' ]; then OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=db_block_cache_test ROCKSDBTESTS_END=comparator_db_test make -j4 check_some; fi
66 67
  - if [ "${TEST_GROUP}" == '2' ]; then OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=comparator_db_test ROCKSDBTESTS_END=write_prepared_transaction_test make -j4 check_some; fi
  - if [ "${TEST_GROUP}" == '3' ]; then OPT=-DTRAVIS V=1 ROCKSDBTESTS_START=write_prepared_transaction_test make -j4 check_some; fi
68 69 70 71 72
  - if [ "${JOB_NAME}" == 'java_test' ]; then OPT=-DTRAVIS V=1 make clean jclean && make rocksdbjava jtest; fi
  - if [ "${JOB_NAME}" == 'lite_build' ]; then OPT="-DTRAVIS -DROCKSDB_LITE" V=1 make -j4 static_lib; fi
  - if [ "${JOB_NAME}" == 'examples' ]; then OPT=-DTRAVIS V=1 make -j4 static_lib; cd examples; make -j4; fi
  - if [ "${JOB_NAME}" == 'cmake' ]; then mkdir build && cd build && cmake .. && make -j4 rocksdb; fi
  - if [ "${JOB_NAME}" == 'cmake-mingw' ]; then mkdir build && cd build && cmake .. -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -DCMAKE_SYSTEM_NAME=Windows && make -j4 rocksdb; fi
I
Igor Canadi 已提交
73
notifications:
I
Igor Canadi 已提交
74 75
    email:
      - leveldb@fb.com
I
Igor Canadi 已提交
76 77
    webhooks:
      - https://buildtimetrend.herokuapp.com/travis