forked from open-io/oio-sds
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
95 lines (92 loc) · 3.15 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
sudo: required
dist: xenial
language: c
addons:
apt:
sources:
- sourceline: 'deb http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse'
- sourceline: 'deb http://mirror.openio.io/pub/repo/openio/sds/18.04/ubuntu/ xenial/'
key_url: 'http://mirror.openio.io/pub/repo/openio/APT-GPG-KEY-OPENIO-0'
# Please keep the following list sorted!
packages:
- apache2
- apache2-dev
- attr
- beanstalkd
- bison
- curl
- flex
- gdb
- lcov
- libapache2-mod-wsgi
- libapreq2-dev
- libattr1-dev
- libcurl4-gnutls-dev
- liberasurecode-dev
- libglib2.0-dev
- libjson-c-dev
- libleveldb-dev
- liblzo2-dev
- libsqlite3-dev
- libzmq3-dev
- libzookeeper-mt-dev
- openio-asn1c
- openio-gridinit
- python-all-dev
- python-dev
- python-pbr
- python-setuptools
- python-virtualenv
- redis-server
- redis-tools
- sqlite3
- zookeeper
- zookeeper-bin
- zookeeperd
services:
- zookeeper
install:
- virtualenv $HOME/oio && source $HOME/oio/bin/activate
- pip install --upgrade pip setuptools virtualenv tox
- pip install --upgrade -r all-requirements.txt -r test-requirements.txt
- pip install --upgrade zkpython
- go get gopkg.in/ini.v1 gopkg.in/tylerb/graceful.v1
env:
- TEST_SUITE=sdk
- TEST_SUITE=3copies,with-service-id
- TEST_SUITE=ec,with-random-service-id
- TEST_SUITE=rebuilder,with-service-id
- TEST_SUITE=ec
- TEST_SUITE=repli,go-rawx
- TEST_SUITE=3copies
- TEST_SUITE=multi-beanstalk
- TEST_SUITE=small-cache
- TEST_SUITE=webhook
- TEST_SUITE=slave
- TEST_SUITE=cli
- TEST_SUITE=worm
- TEST_SUITE=build,unit,copyright,variables
- TEST_SUITE=mover,with-service-id
script:
- sudo bash -c "echo '/tmp/core.%p.%E' > /proc/sys/kernel/core_pattern"
- ulimit -c unlimited -S
- set -e
- mkdir /tmp/oio && source $HOME/oio/bin/activate
- export CMAKE_OPTS='-DCMAKE_INSTALL_PREFIX=/tmp/oio -DLD_LIBDIR=lib'
- if [ "sdk" == "${TEST_SUITE/*sdk*/sdk}" ] ; then cmake ${CMAKE_OPTS} -D SDK_ONLY=on . && make all && make test ; exit 0 ; fi
- export CMAKE_OPTS="${CMAKE_OPTS} -DZK_LIBDIR=/usr/lib -DZK_INCDIR=/usr/include/zookeeper -DAPACHE2_LIBDIR=/usr/lib/apache2 -DAPACHE2_INCDIR=/usr/include/apache2 -DAPACHE2_MODDIR=/tmp/oio/lib/apache2/module"
- if [ "build" == "${TEST_SUITE/*build*/build}" ] ; then cmake ${CMAKE_OPTS} -DCMAKE_BUILD_TYPE="Release" . && make all && make clean ; fi
- export PYTHON_COVERAGE=1 CMAKE_OPTS="${CMAKE_OPTS} -DENABLE_CODECOVERAGE=on"
- cmake ${CMAKE_OPTS} -DCMAKE_BUILD_TYPE="Debug" . && make all install
- git fetch --tags
- python setup.py develop
- bash ./tools/oio-check-version.sh
- export G_DEBUG_LEVEL=D PATH="$PATH:/tmp/oio/bin" LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/tmp/oio/lib"
- make coverage_init
- ./tools/oio-travis-tests.sh
- make coverage
after_success:
- bash <(curl -s https://codecov.io/bash) -f /tmp/cmake_coverage.output
- codecov
- if cat ${HOME}/go_coverage.output.* > go_coverage.output; then rm ${HOME}/go_coverage.output.*; else echo "" > go_coverage.output; fi
- bash <(curl -s https://codecov.io/bash) -f go_coverage.output