|
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/true |
286 | 8 |
|
287 | 9 | notifications:
|
288 | 10 | webhooks:
|
289 | 11 | urls:
|
290 | 12 | - http://dashboard.diffblue.com/api/travis-webhooks
|
291 |
| - - https://us-central1-dev-user-joelallred.cloudfunctions.net/trigger-testgen-from-cbmc |
292 | 13 | on_success: always
|
293 | 14 | on_failure: always
|
294 | 15 | on_start: never
|
295 | 16 | on_cancel: never
|
296 | 17 | on_error: always
|
| 18 | + |
0 commit comments