forked from rockset/rocksdb-cloud
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
60 lines (55 loc) · 3.07 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
sudo: required
dist: trusty
language: cpp
os:
- linux
compiler:
- gcc
cache:
directories:
- "$BUILD_DIR/aws"
addons:
apt:
packages:
- zlib1g-dev
- libbz2-dev
- libsnappy-dev
- curl
- libgflags-dev
- mingw-w64
- libcurl4-openssl-dev
- libssl-dev
- uuid-dev
- libpulse-dev
env:
- TEST_GROUP=db_test_part_1
- TEST_GROUP=db_test_part_2
- TEST_GROUP=db_test2
- TEST_GROUP=cloud_tests
before_script:
# Increase the maximum number of open file descriptors, since some tests use
# more FDs than the default limit.
- ulimit -n 8192
- pushd /tmp && wget https://github.com/aws/aws-sdk-cpp/archive/1.3.50.tar.gz -O /tmp/aws-sdk.tar.gz && tar -xvf /tmp/aws-sdk.tar.gz > /dev/null && popd
- pushd /tmp/aws-sdk-cpp-1.3.50 && cmake -DBUILD_ONLY="s3;kinesis" . && make -j4 all && sudo make install && popd
# Install librdkafka
- LIBRDKAFKA_VERSION=0.11.3
- wget https://github.com/edenhill/librdkafka/archive/v${LIBRDKAFKA_VERSION}.tar.gz
- tar -zxvf v${LIBRDKAFKA_VERSION}.tar.gz
- sudo bash -c "cd librdkafka-${LIBRDKAFKA_VERSION} && ./configure && make && make install"
script:
# Note: We remove flaky tests that don't have much to do with our cloud code (like MergeTestTime and UnsupportedManualSync)
- if [ "${TEST_GROUP}" == 'db_test_part_1' ]; then OPT=-DTRAVIS V=1 USE_AWS=1 USE_KAFKA=1 make -j4 db_test && LD_LIBRARY_PATH=/usr/local/lib ./db_test --gtest_filter=-DBTest.MergeTestTime:DBTest.UnsupportedManualSync:DBTest.ApproximateSizes*:DBTest.HiddenValuesAreRemoved:DBTest.UnremovableSingleDelete:DBTest.OverlapInLevel0:MultiThreaded/MultiThreadedDBTest*:DBTest.SingleDeleteFlush:DBTest.GetLevel0Ordering:DBTest.GetPicksCorrectFile; fi
# some test that make the above run of db_test exceed the travis limit of 50 minutes are moved to this job
- if [ "${TEST_GROUP}" == 'db_test_part_2' ]; then OPT=-DTRAVIS V=1 USE_AWS=1 USE_KAFKA=1 make -j4 db_test && LD_LIBRARY_PATH=/usr/local/lib ./db_test --gtest_filter=DBTest.HiddenValuesAreRemoved:DBTest.UnremovableSingleDelete:DBTest.OverlapInLevel0:MultiThreaded/MultiThreadedDBTest*:DBTest.SingleDeleteFlush:DBTest.GetLevel0Ordering:DBTest.GetPicksCorrectFile; fi
#
# The basic tests use an S3 bucket for unit testing. Do not run the CompactBetweenSnapshots
# because it takes really really long to run on S3.
- if [ "${TEST_GROUP}" == 'db_test2' ]; then OPT=-DTRAVIS V=1 USE_AWS=1 USE_KAFKA=1 make -j4 db_test2 db_basic_test env_basic_test && LD_LIBRARY_PATH=/usr/local/lib ./db_test2 && LD_LIBRARY_PATH=/usr/local/lib ./db_basic_test --gtest_filter=-DBBasicTest.CompactBetweenSnapshots && LD_LIBRARY_PATH=/usr/local/lib ./env_basic_test; fi
- if [ "${TEST_GROUP}" == 'cloud_tests' ]; then build_tools/spinup_kafka.sh && sleep 10 && OPT=-DTRAVIS V=1 USE_AWS=1 USE_KAFKA=1 make -j4 db_cloud_test cloud_manifest_test && LD_LIBRARY_PATH=/usr/local/lib ./db_cloud_test && LD_LIBRARY_PATH=/usr/local/lib ./cloud_manifest_test; fi
notifications:
slack:
rooms:
- rockset-io:4q1pfQSzMd3UgSR18Yu23quQ#rocksdb-cloud-ci
on_success: always
on_failure: always