-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
130 lines (119 loc) · 3 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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
language: cpp
dist: trusty
os: linux
#sudo: false # should speedup build
env:
global:
- MAKEFLAGS="-j 3"
notifications:
email:
recipients:
- boutwork@gmail.com
on_success: change
on_failure: always
git:
depth: false
matrix:
include:
- os: linux
env: "Trailing Whitespace"
script: |
if [[ -n $(git diff --check HEAD^) ]]; then
echo "You must remove whitespace before submitting a pull request"
git diff --check HEAD^
exit -1
fi
- os: linux
env: "Configuration: Release/Debug and Ninja Generator"
addons:
apt:
packages: ninja-build
script:
- cmake -H. -Brelease -DCMAKE_BUILD_TYPE=Release
- cmake --build release
-
- cmake -H. -Bdebug -DCMAKE_BUILD_TYPE=Debug
- cmake --build debug
-
- cmake -H. -Bninja -GNinja
- cmake --build ninja
- os: linux
env: "g++-5/6/7"
addons:
apt:
sources: ubuntu-toolchain-r-test
packages:
- g++-5
- g++-6
- g++-7
script:
- cmake -H. -Bbuild5 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER="g++-5"
- cmake --build build5
-
- cmake -H. -Bbuild6 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER="g++-6"
- cmake --build build6
-
- cmake -H. -Bbuild7 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER="g++-7"
- cmake --build build7
- os: linux
env: "clang-4.0/5.0"
addons:
apt:
sources:
- llvm-toolchain-trusty-4.0
- llvm-toolchain-trusty-5.0
packages:
- clang-4.0
- clang-5.0
script:
- cmake -H. -Bclang4 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER="clang++-4.0"
- cmake --build clang4
-
- cmake -H. -Bclang5 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER="clang++-5.0"
- cmake --build clang5
- os: linux
env: "Test"
addons:
apt:
sources: ubuntu-toolchain-r-test
packages: g++-7
script:
- cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER="g++-7"
- cmake --build build
- cmake --build build --target test
- os: linux
env: "CppCheck"
script:
- cmake -H. -Bbuild -DENABLE_CPPCHECK=ON
- cmake --build build
- cmake --build build --target cpp-check
- os: linux
env: "Code coverage"
addons:
apt:
sources: ubuntu-toolchain-r-test
packages: g++-7
script:
- cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER="g++-7" -DENABLE_COVERAGE=ON
- cmake --build build
- cmake --build build --target test
after_success:
- bash <(curl -s https://codecov.io/bash)
- os: linux
env: "Google Address/Undefined/Thread Sanitizer"
addons:
apt:
sources: ubuntu-toolchain-r-test
packages: g++-7
script:
- cmake -H. -Basan -DCMAKE_CXX_COMPILER="g++-7" -DENABLE_ASAN=ON
- cmake --build asan
- cmake --build asan --target test
-
- cmake -H. -Busan -DCMAKE_CXX_COMPILER="g++-7" -DENABLE_USAN=ON
- cmake --build usan
- cmake --build usan --target test
-
- cmake -H. -Btsan -DCMAKE_CXX_COMPILER="g++-7" -DENABLE_TSAN=ON
- cmake --build tsan
#- cmake --build tsan --target test