1
- language : cpp
2
-
3
- jobs :
4
- include :
5
-
6
- - &formatting-stage
7
- stage : Linter + Doxygen + non-debug Ubuntu/gcc-5 test
8
- env : NAME="clang-format"
9
- addons :
10
- apt :
11
- packages :
12
- - clang-format-3.8
13
- install :
14
- script : |
15
- # Apparently update-alternatives doesn't work in Travis containers
16
- mkdir -p priority-symlinks
17
- ln -s /usr/bin/clang-format-3.8 priority-symlinks/clang-format
18
- export PATH=${PWD}/priority-symlinks:${PATH}
19
-
20
- # Now we can do the formatting pass
21
- clang-format --version
22
- git-clang-format-3.8 "${TRAVIS_BRANCH}"
23
- git diff > formatted.diff
24
- if [[ -s formatted.diff ]] ; then
25
- echo 'Formatting error! The following diff shows the required changes'
26
- echo 'Use the raw log to get a version of the diff that preserves spacing'
27
- cat formatted.diff
28
- exit 1
29
- fi
30
- echo 'No formatting errors found'
31
- exit 0
32
- before_cache :
33
-
34
- - &linter-stage
35
- stage : Linter + Doxygen + non-debug Ubuntu/gcc-5 test
36
- env : NAME="CPP-LINT"
37
- install :
38
- script : scripts/travis_lint.sh
39
- before_cache :
40
-
41
- - &string-table-check
42
- stage : Linter + Doxygen + non-debug Ubuntu/gcc-5 test
43
- env : NAME="string-table"
44
- install :
45
- script : scripts/string_table_check.sh
46
- before_cache :
47
-
48
- - stage : Linter + Doxygen + non-debug Ubuntu/gcc-5 test
49
- env : NAME="DOXYGEN-CHECK"
50
- addons :
51
- apt :
52
- sources :
53
- - sourceline : ' deb http://packages.cloud.google.com/apt cloud-sdk-trusty main'
54
- key_url : ' https://packages.cloud.google.com/apt/doc/apt-key.gpg'
55
- packages :
56
- - doxygen
57
- - google-cloud-sdk
58
- install :
59
- script : scripts/travis_doxygen.sh
60
- before_cache :
61
- after_success :
62
- # Google Cloud Integration
63
- - export BRANCH="${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}"
64
- - openssl aes-256-cbc -k ${GCLOUD_TRAVIS_CBMC_KEY}
65
- -in gcloud-travis-cbmc.json.enc -out gcloud-travis-cbmc.json -d
66
- - export G_KEY=${PWD}/gcloud-travis-cbmc.json
67
- - gcloud auth activate-service-account --key-file ${G_KEY}
68
-
69
- - scripts/publish_doc.sh
70
-
71
- # Ubuntu Linux with glibc using g++-5
72
- - stage : Linter + Doxygen + non-debug Ubuntu/gcc-5 test
73
- os : linux
74
- sudo : false
75
- compiler : gcc
76
- cache : ccache
77
- addons :
78
- apt :
79
- sources :
80
- - ubuntu-toolchain-r-test
81
- packages :
82
- - libwww-perl
83
- - g++-5
84
- - libubsan0
85
- - parallel
86
- - libc6-dev-i386
87
- before_install :
88
- - mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
89
- # env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer"
90
- env :
91
- - COMPILER="ccache /usr/bin/g++-5"
92
- - EXTRA_CXXFLAGS="-D_GLIBCXX_DEBUG"
93
-
94
- # OS X using clang++
95
- - stage : Test different OS/CXX/Flags
96
- os : osx
97
- sudo : false
98
- compiler : clang
99
- cache : ccache
100
- before_install :
101
- - HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache parallel
102
- - export PATH=$PATH:/usr/local/opt/ccache/libexec
103
- env : COMPILER="ccache clang++"
104
-
105
- # Ubuntu Linux with glibc using g++-5, debug mode
106
- - stage : Test different OS/CXX/Flags
107
- os : linux
108
- sudo : false
109
- compiler : gcc
110
- cache : ccache
111
- addons :
112
- apt :
113
- sources :
114
- - ubuntu-toolchain-r-test
115
- packages :
116
- - libwww-perl
117
- - g++-5
118
- - libubsan0
119
- - libc6-dev-i386
120
- before_install :
121
- - mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
122
- # env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer"
123
- env :
124
- - COMPILER="ccache /usr/bin/g++-5"
125
- - EXTRA_CXXFLAGS="-DDEBUG"
126
- script : echo "Not running any tests for a debug build."
127
-
128
- # Ubuntu Linux with glibc using clang++-3.7, no-debug mode
129
- - stage : Test different OS/CXX/Flags
130
- os : linux
131
- sudo : false
132
- compiler : clang
133
- cache : ccache
134
- addons :
135
- apt :
136
- sources :
137
- - ubuntu-toolchain-r-test
138
- - llvm-toolchain-precise-3.7
139
- packages :
140
- - libwww-perl
141
- - clang-3.7
142
- - libstdc++-5-dev
143
- - libubsan0
144
- - parallel
145
- - libc6-dev-i386
146
- before_install :
147
- - mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
148
- - export CCACHE_CPP2=yes
149
- # env: COMPILER=clang++-3.7 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer -fno-omit-frame-pointer"
150
- env :
151
- - COMPILER="ccache /usr/bin/clang++-3.7"
152
- - EXTRA_CXXFLAGS="-Qunused-arguments -fcolor-diagnostics -DNDEBUG"
153
- - CCACHE_CPP2=yes
154
-
155
- # Ubuntu Linux with glibc using clang++-3.7, debug mode, disable USE_DSTRING
156
- - stage : Test different OS/CXX/Flags
157
- os : linux
158
- sudo : false
159
- compiler : clang
160
- cache : ccache
161
- addons :
162
- apt :
163
- sources :
164
- - ubuntu-toolchain-r-test
165
- - llvm-toolchain-precise-3.7
166
- packages :
167
- - libwww-perl
168
- - clang-3.7
169
- - libstdc++-5-dev
170
- - libubsan0
171
- - libc6-dev-i386
172
- before_install :
173
- - mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
174
- - export CCACHE_CPP2=yes
175
- # env: COMPILER=clang++-3.7 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer -fno-omit-frame-pointer"
176
- env :
177
- - COMPILER="ccache /usr/bin/clang++-3.7"
178
- - EXTRA_CXXFLAGS="-Qunused-arguments -fcolor-diagnostics -DDEBUG -DUSE_STD_STRING"
179
- - CCACHE_CPP2=yes
180
- script : echo "Not running any tests for a debug build."
181
-
182
- # cmake build using g++-5
183
- - stage : Test different OS/CXX/Flags
184
- os : linux
185
- compiler : gcc
186
- cache : ccache
187
- env :
188
- - BUILD_SYSTEM=cmake
189
- addons :
190
- apt :
191
- sources :
192
- - ubuntu-toolchain-r-test
193
- packages :
194
- - g++-5
195
- - libc6-dev-i386
196
- before_install :
197
- - mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
198
- install :
199
- - ccache -z
200
- - ccache --max-size=1G
201
- - cmake -H. -Bbuild '-DCMAKE_BUILD_TYPE=Release' '-DCMAKE_CXX_COMPILER=/usr/bin/g++-5'
202
- - cmake --build build -- -j4
203
- script : (cd build; ctest -V -L CORE -j2)
204
-
205
- - stage : Test different OS/CXX/Flags
206
- os : osx
207
- compiler : clang
208
- cache : ccache
209
- before_install :
210
- - HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache
211
- - export PATH=$PATH:/usr/local/opt/ccache/libexec
212
- env :
213
- - BUILD_SYSTEM=cmake
214
- - CCACHE_CPP2=yes
215
- install :
216
- - ccache -z
217
- - ccache --max-size=1G
218
- - cmake -H. -Bbuild '-DCMAKE_BUILD_TYPE=Release' '-DCMAKE_OSX_ARCHITECTURES=x86_64'
219
- - cmake --build build -- -j4
220
- script : (cd build; ctest -V -L CORE -j2)
221
-
222
-
223
- # Run Coverity
224
- - stage : Test different OS/CXX/Flags
225
- os : linux
226
- sudo : required
227
- compiler : gcc
228
- cache : ccache
229
- addons :
230
- apt :
231
- sources :
232
- - ubuntu-toolchain-r-test
233
- packages :
234
- - libwww-perl
235
- - g++-5
236
- coverity_scan :
237
- project :
238
- name : " diffblue/cbmc"
239
- description : " Travis build of ${TRAVIS_COMMIT}"
240
- notification_email :
" [email protected] "
241
- build_command_prepend : " make -C jbmc/src java-models-library-download"
242
- build_command_prepend : " make -C src minisat2-download"
243
- build_command : " make -C src -j2; make -C jbmc/src -j2"
244
- branch_pattern : " develop"
245
- before_install :
246
- - |
247
- if [[ "${TRAVIS_EVENT_TYPE}" != "cron" ]]
248
- then
249
- echo "This is not a cron build and build is not needed."
250
- travis_terminate 0
251
- fi
252
- - mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
253
- - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 90
254
- - g++ --version
255
- # Coverity runs as part of before_script
256
- env :
257
- - NAME="COVERITY_SCAN"
258
- - COMPILER="ccache g++"
259
- script : echo "This is coverity build. No need for tests."
260
-
261
- allow_failures :
262
- - << : *formatting-stage
263
- - << : *linter-stage
1
+ language : generic
264
2
265
3
install :
266
- - ccache -z
267
- - ccache --max-size=1G
268
- - make -C jbmc/src java-models-library-download
269
- - make -C src minisat2-download
270
- - make -C src/ansi-c library_check
271
- - make -C src "CXX=${COMPILER} ${EXTRA_CXXFLAGS}" -j3
272
- - make -C src "CXX=${COMPILER} ${EXTRA_CXXFLAGS}" -j3 clobber.dir memory-models.dir
273
- - make -C jbmc/src "CXX=${COMPILER} ${EXTRA_CXXFLAGS}" -j3
4
+ - /bin/true
274
5
275
6
script :
276
- - if [ -e bin/gcc ] ; then export PATH=$PWD/bin:$PATH ; fi ;
277
- - env UBSAN_OPTIONS=print_stacktrace=1 make -C regression test-parallel "CXX=${COMPILER} ${EXTRA_CXXFLAGS}" -j2 JOBS=2
278
- - make -C unit "CXX=${COMPILER} ${EXTRA_CXXFLAGS}" -j2
279
- - make -C unit test
280
- - env UBSAN_OPTIONS=print_stacktrace=1 make -C jbmc/regression test-parallel "CXX=${COMPILER} ${EXTRA_CXXFLAGS}" -j2 JOBS=2
281
- - make -C jbmc/unit "CXX=${COMPILER} ${EXTRA_CXXFLAGS}" -j2
282
- - make -C jbmc/unit test
283
-
284
- before_cache :
285
- - ccache -s
7
+ - /bin/false
286
8
287
9
notifications :
288
10
webhooks :
@@ -294,3 +16,4 @@ notifications:
294
16
on_start : never
295
17
on_cancel : never
296
18
on_error : always
19
+
0 commit comments