• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016-2019 Peter Dimov
2# Distributed under the Boost Software License, Version 1.0.
3# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
4
5language: cpp
6
7sudo: false
8
9dist: trusty
10
11branches:
12  only:
13    - master
14    - develop
15    - /feature\/.*/
16
17env:
18  matrix:
19    - BOGUS_JOB=true
20
21matrix:
22
23  exclude:
24    - env: BOGUS_JOB=true
25
26  include:
27    - os: linux
28      compiler: g++
29      env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11
30
31    - os: linux
32      compiler: g++-4.4
33      env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x
34      addons:
35        apt:
36          packages:
37            - g++-4.4
38          sources:
39            - ubuntu-toolchain-r-test
40
41    - os: linux
42      compiler: g++-4.6
43      env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x
44      addons:
45        apt:
46          packages:
47            - g++-4.6
48          sources:
49            - ubuntu-toolchain-r-test
50
51    - os: linux
52      compiler: g++-4.7
53      env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11
54      addons:
55        apt:
56          packages:
57            - g++-4.7
58          sources:
59            - ubuntu-toolchain-r-test
60
61    - os: linux
62      compiler: g++-4.8
63      env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11
64      addons:
65        apt:
66          packages:
67            - g++-4.8
68          sources:
69            - ubuntu-toolchain-r-test
70    - os: linux
71      compiler: g++-4.9
72      env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11
73      addons:
74        apt:
75          packages:
76            - g++-4.9
77          sources:
78            - ubuntu-toolchain-r-test
79
80    - os: linux
81      compiler: g++-5
82      env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z
83      addons:
84        apt:
85          packages:
86            - g++-5
87          sources:
88            - ubuntu-toolchain-r-test
89
90    - os: linux
91      compiler: g++-6
92      env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z
93      addons:
94        apt:
95          packages:
96            - g++-6
97          sources:
98            - ubuntu-toolchain-r-test
99
100    - os: linux
101      compiler: g++-7
102      env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17
103      addons:
104        apt:
105          packages:
106            - g++-7
107          sources:
108            - ubuntu-toolchain-r-test
109
110    - os: linux
111      compiler: g++-8
112      env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17,2a
113      addons:
114        apt:
115          packages:
116            - g++-8
117          sources:
118            - ubuntu-toolchain-r-test
119
120    - os: linux
121      compiler: g++-9
122      env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a
123      addons:
124        apt:
125          packages:
126            - g++-9
127          sources:
128            - ubuntu-toolchain-r-test
129
130    - os: linux
131      compiler: g++-7
132      env: UBSAN=1 TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold
133      addons:
134        apt:
135          packages:
136            - g++-7
137          sources:
138            - ubuntu-toolchain-r-test
139
140    - os: linux
141      compiler: clang++
142      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
143
144    - os: linux
145      compiler: /usr/bin/clang++
146      env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
147      addons:
148        apt:
149          packages:
150            - clang-3.3
151
152    - os: linux
153      compiler: /usr/bin/clang++
154      env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
155      addons:
156        apt:
157          packages:
158            - clang-3.4
159
160    - os: linux
161      compiler: clang++-3.5
162      env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11,14,1z
163      addons:
164        apt:
165          packages:
166            - clang-3.5
167            - libstdc++-4.9-dev
168          sources:
169            - ubuntu-toolchain-r-test
170            - llvm-toolchain-precise-3.5
171
172    - os: linux
173      compiler: clang++-3.6
174      env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z
175      addons:
176        apt:
177          packages:
178            - clang-3.6
179          sources:
180            - ubuntu-toolchain-r-test
181            - llvm-toolchain-precise-3.6
182
183    - os: linux
184      compiler: clang++-3.7
185      env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z
186      addons:
187        apt:
188          packages:
189            - clang-3.7
190          sources:
191            - ubuntu-toolchain-r-test
192            - llvm-toolchain-precise-3.7
193
194    - os: linux
195      compiler: clang++-3.8
196      env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z
197      addons:
198        apt:
199          packages:
200            - clang-3.8
201            - libstdc++-4.9-dev
202          sources:
203            - ubuntu-toolchain-r-test
204            - llvm-toolchain-precise-3.8
205
206    - os: linux
207      compiler: clang++-3.9
208      env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z
209      addons:
210        apt:
211          packages:
212            - clang-3.9
213            - libstdc++-4.9-dev
214          sources:
215            - ubuntu-toolchain-r-test
216            - llvm-toolchain-precise-3.9
217
218    - os: linux
219      compiler: clang++-4.0
220      env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z
221      addons:
222        apt:
223          packages:
224            - clang-4.0
225          sources:
226            - ubuntu-toolchain-r-test
227            - llvm-toolchain-trusty-4.0
228
229    - os: linux
230      compiler: clang++-5.0
231      env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z
232      addons:
233        apt:
234          packages:
235            - clang-5.0
236          sources:
237            - ubuntu-toolchain-r-test
238            - llvm-toolchain-trusty-5.0
239
240    - os: linux
241      compiler: clang++-6.0
242      env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17,2a
243      addons:
244        apt:
245          packages:
246            - clang-6.0
247          sources:
248            - ubuntu-toolchain-r-test
249            - llvm-toolchain-trusty-6.0
250
251    - os: linux
252      compiler: clang++-7
253      env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a
254      addons:
255        apt:
256          packages:
257            - clang-7
258          sources:
259            - ubuntu-toolchain-r-test
260            - llvm-toolchain-trusty-7
261
262    - os: linux
263      compiler: clang++-8
264      env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a
265      addons:
266        apt:
267          packages:
268            - clang-8
269          sources:
270            - ubuntu-toolchain-r-test
271            - llvm-toolchain-trusty-8
272
273    - os: linux
274      compiler: clang++-7
275      env: UBSAN=1 TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1
276      addons:
277        apt:
278          packages:
279            - clang-7
280            - libstdc++-5-dev
281          sources:
282            - ubuntu-toolchain-r-test
283            - llvm-toolchain-trusty-7
284
285    - os: linux
286      compiler: clang++-libc++
287      env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z
288      addons:
289        apt:
290          packages:
291            - libc++-dev
292
293    - os: linux
294      compiler: clang++-libc++
295      env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1
296      addons:
297        apt:
298          packages:
299            - libc++-dev
300
301    - os: osx
302      compiler: clang++
303      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
304
305install:
306  - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
307  - cd ..
308  - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
309  - cd boost-root
310  - git submodule update --init tools/boostdep
311  - cp -r $TRAVIS_BUILD_DIR/* libs/proto
312  - python tools/boostdep/depinst/depinst.py proto
313  - ./bootstrap.sh
314  - ./b2 headers
315
316script:
317  - |-
318    echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
319  - ./b2 -j3 libs/proto/test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS}
320
321notifications:
322  email:
323    on_success: always
324