-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
55 lines (50 loc) · 1.45 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
sudo: required
dist: trusty
services:
- docker
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
- gcc-4.8
# We need gcc-5 for TSAN. See comments in tools/bazel.rc.
- g++-5
- gcc-5
- lcov
- libio-socket-ssl-perl
- oracle-java8-installer
- pkg-config
- uuid-dev
- wget
- zip
- zlib1g-dev
env:
global:
- JAVA_HOME=/usr/lib/jvm/java-8-oracle
- CC=gcc-4.8
- CXX=g++-4.8
matrix:
# Build & run unit-tests, integration tests, NGINX tests
- SCENARIO="build-and-test"
# Build & run the tests with ASAN enabled
- SCENARIO="asan"
# Build & run the tests with TSAN enabled (using gcc-5)
- SCENARIO="tsan" CC=gcc-5 CXX=g++-5
# Build & run the tests & generate coverage report
- SCENARIO="coverage"
# Build & run docker tests
- SCENARIO="docker-tests"
install:
# Directory for artifacts
- mkdir "${HOME}/artifacts"
# Install necessary software
- script/travis/log-helper "script/travis/install" "${HOME}/artifacts/install.log"
script:
# Run script/setup to prepare for the build
- script/travis/log-helper "script/setup" "${HOME}/artifacts/setup.log"
# Run the scenario
- script/travis/log-helper "script/travis/run ${SCENARIO}" "${HOME}/artifacts/run.log"
# Upload the artifacts into a Google Cloud Storage bucket
- script/travis/log-helper "script/travis/upload ${SCENARIO}" "${HOME}/artifacts/upload.log"