forked from googleapis/google-cloud-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
77 lines (67 loc) · 2.28 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
# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
group: travis_latest
sudo: required
language: cpp
# TODO(#19) - this is a skeleton matrix, needs to be designed and completed.
# TODO(#62) - enable a SANITIZE_MEMORY=yes build when we eliminate the false positives
matrix:
include:
- # Generate code coverage information and upload to codecov.io.
os: linux
compiler: gcc
env:
BUILD_TYPE=Coverage
DISTRO=ubuntu
DISTRO_VERSION=18.04
- # Compile with tests disabled, run style checks and docs.
os: linux
compiler: gcc
env:
BUILD_TESTING=no
CHECK_STYLE=yes
GENERATE_DOCS=yes
DISTRO=ubuntu
DISTRO_VERSION=18.04
script:
- ci/travis/build-linux.sh
# We do not need to recursively extract the submodules. This saves some time in
# the builds, the default install step then performs a lighter weight module
# initialization than what Travis does by default.
git:
submodules: false
install:
# The git default is to recurse, override it because we do not need to and
# that saves time.
- travis_wait 20 /bin/sh -c "ci/install-retry.sh ci/travis/install-linux.sh >cmake-out/install-linux.log 2>&1"
after_success:
- ci/travis/upload-codecov.sh
- ci/travis/upload-docs.sh
- ci/travis/dump-reports.sh
after_failure:
- ci/travis/dump-reports.sh
- ci/travis/dump-logs.sh
cache:
directories:
# Cache the Bazel directories, in builds that do not use Bazel this is
# empty and trivial to cache.
- $HOME/.cache/bazel
- cmake-out/ccache
timeout: 900
before_cache:
# Do not save the Bazel installation, reinstall each time, it fails to install
# if the installation is in the cache.
- rm -fr ${HOME}/.cache/bazel/_bazel_${USER}/install
notifications:
email: false