• 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: xenial
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      dist: bionic
132      compiler: g++-10
133      env: TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,2a
134      addons:
135        apt:
136          packages:
137            - g++-10
138          sources:
139            - ubuntu-toolchain-r-test
140
141    - os: linux
142      compiler: g++-9
143      env: UBSAN=1 TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold
144      addons:
145        apt:
146          packages:
147            - g++-9
148          sources:
149            - ubuntu-toolchain-r-test
150
151    - os: linux
152      compiler: clang++
153      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
154
155    - os: linux
156      dist: trusty
157      compiler: /usr/bin/clang++
158      env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
159      addons:
160        apt:
161          packages:
162            - clang-3.3
163
164    - os: linux
165      dist: trusty
166      compiler: /usr/bin/clang++
167      env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
168      addons:
169        apt:
170          packages:
171            - clang-3.4
172
173    - os: linux
174      compiler: clang++-3.6
175      env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z
176      addons:
177        apt:
178          packages:
179            - clang-3.6
180          sources:
181            - ubuntu-toolchain-r-test
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
193    - os: linux
194      compiler: clang++-3.8
195      env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z
196      addons:
197        apt:
198          packages:
199            - clang-3.8
200          sources:
201            - ubuntu-toolchain-r-test
202
203    - os: linux
204      compiler: clang++-3.9
205      env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z
206      addons:
207        apt:
208          packages:
209            - clang-3.9
210          sources:
211            - ubuntu-toolchain-r-test
212
213    - os: linux
214      compiler: clang++-4.0
215      env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z
216      addons:
217        apt:
218          packages:
219            - clang-4.0
220          sources:
221            - ubuntu-toolchain-r-test
222
223    - os: linux
224      compiler: clang++-5.0
225      env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z
226      addons:
227        apt:
228          packages:
229            - clang-5.0
230          sources:
231            - ubuntu-toolchain-r-test
232
233    - os: linux
234      compiler: clang++-6.0
235      env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17
236      addons:
237        apt:
238          packages:
239            - clang-6.0
240          sources:
241            - ubuntu-toolchain-r-test
242
243    - os: linux
244      compiler: clang++-7
245      env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a
246      addons:
247        apt:
248          packages:
249            - clang-7
250          sources:
251            - ubuntu-toolchain-r-test
252            - llvm-toolchain-xenial-7
253
254    - os: linux
255      compiler: clang++-8
256      env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a
257      addons:
258        apt:
259          packages:
260            - clang-8
261          sources:
262            - ubuntu-toolchain-r-test
263            - llvm-toolchain-xenial-8
264
265    - os: linux
266      compiler: clang++-9
267      env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11,14,17,2a
268      addons:
269        apt:
270          packages:
271            - clang-9
272          sources:
273            - ubuntu-toolchain-r-test
274            - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
275              key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
276
277    - os: linux
278      dist: xenial
279      compiler: clang++-10
280      env: TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,2a
281      addons:
282        apt:
283          packages:
284            - clang-10
285          sources:
286            - ubuntu-toolchain-r-test
287            - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main'
288              key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
289
290    - os: linux
291      dist: xenial
292      compiler: clang++-10
293      env: UBSAN=1 TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1
294      addons:
295        apt:
296          packages:
297            - clang-10
298          sources:
299            - ubuntu-toolchain-r-test
300            - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main'
301              key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
302
303    - os: linux
304      dist: trusty
305      compiler: clang++-libc++
306      env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z
307      addons:
308        apt:
309          packages:
310            - libc++-dev
311
312    - os: linux
313      dist: trusty
314      compiler: clang++-libc++
315      env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1
316      addons:
317        apt:
318          packages:
319            - libc++-dev
320
321    - os: osx
322      compiler: clang++
323      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
324
325    - os: osx
326      compiler: clang++
327      env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1
328
329    - os: freebsd
330      compiler: clang++
331      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,17,2a
332
333install:
334  - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
335  - cd ..
336  - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
337  - cd boost-root
338  - git submodule update --init tools/boostdep
339  - cp -r $TRAVIS_BUILD_DIR/* libs/rational
340  - python tools/boostdep/depinst/depinst.py rational
341  - ./bootstrap.sh
342  - ./b2 headers
343
344script:
345  - |-
346    echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
347  - ./b2 -j3 libs/rational/test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS}
348
349notifications:
350  email:
351    on_success: always
352