This repository has been archived by the owner on Oct 25, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 26
/
.travis.yml
90 lines (78 loc) · 1.97 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
# https://docs.travis-ci.com/user/ci-environment/
git:
depth: 500
dist: trusty
sudo: false
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-5.0
packages:
- clang-5.0
- clang-format-5.0
- clang-tidy-5.0
- libegl1-mesa-dev
- libgles2-mesa-dev
env:
global:
- BAZEL_VERSION=0.6.0
- PATH=/usr/local/opt/llvm/bin:$HOME/bin/:$PATH
- DISPLAY=:0.0
language: cpp
compiler:
- clang
cache:
pip: true
directories:
- /tmp/.cache/bazel_root_
- /tmp/.cache/bazel_root_asan
- /tmp/.cache/bazel_root_msan
- /tmp/.cache/bazel_root_tsan
- /tmp/.cache/bazel_root_ubsan
- /tmp/.cache/bazel_root_analyze
install:
- ./tools/ci/travis/install.sh
jobs:
fast_finish: true
include:
# Run linting and a linux build first, as it's most likely to fail.
- stage: lint, build, and test
os: linux
env:
- CONFIG=asan
script:
- ./tools/ci/travis/lint.sh
- ./tools/ci/travis/build.sh
- ./tools/ci/travis/test.sh
# Test Linux for tsan and ubsan.
- &test-linux
stage: test
os: linux
script: ./tools/ci/travis/test.sh
env: CONFIG=tsan
# TODO(benvanik): figure out how to get msan setup on travis.
#- <<: *test-linux
# env: CONFIG=msan
- <<: *test-linux
env: CONFIG=ubsan
# Test MacOS for default config.
# We also build here to avoid double cost of MacOS VM startup.
# TODO(benvanik): renable when travis is not underwater.
#- &test-macos
# stage: test
# os: osx
# osx_image: xcode8.3
# script:
# - ./tools/ci/travis/build.sh
# - ./tools/ci/travis/test.sh
# env: CONFIG=
# Run clang-tidy analysis.
# We do this during the test phase to parallelize a bit more.
- stage: test
os: linux
script: ./tools/ci/travis/analyze.sh
env: CONFIG=analyze
allow_failures:
# MacOS is flaky right now so we allow it to fail.
- <<: *test-macos