• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016-2020 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
7branches:
8  only:
9    - master
10    - develop
11    - /feature\/.*/
12
13env:
14  matrix:
15    - BOGUS_JOB=true
16
17matrix:
18
19  exclude:
20    - env: BOGUS_JOB=true
21
22  include:
23    - os: linux
24      compiler: g++
25      env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11
26
27    - os: linux
28      compiler: g++-4.4
29      env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x
30      addons:
31        apt:
32          packages:
33            - g++-4.4
34          sources:
35            - ubuntu-toolchain-r-test
36
37    - os: linux
38      compiler: g++-4.6
39      env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x
40      addons:
41        apt:
42          packages:
43            - g++-4.6
44          sources:
45            - ubuntu-toolchain-r-test
46
47    - os: linux
48      compiler: g++-4.7
49      env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11
50      addons:
51        apt:
52          packages:
53            - g++-4.7
54          sources:
55            - ubuntu-toolchain-r-test
56
57    - os: linux
58      compiler: g++-4.8
59      env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11
60      addons:
61        apt:
62          packages:
63            - g++-4.8
64          sources:
65            - ubuntu-toolchain-r-test
66
67    - os: linux
68      compiler: g++-4.9
69      env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11
70      addons:
71        apt:
72          packages:
73            - g++-4.9
74          sources:
75            - ubuntu-toolchain-r-test
76
77    - os: linux
78      compiler: g++-5
79      env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z
80      addons:
81        apt:
82          packages:
83            - g++-5
84          sources:
85            - ubuntu-toolchain-r-test
86
87    - os: linux
88      compiler: g++-6
89      env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z
90      addons:
91        apt:
92          packages:
93            - g++-6
94          sources:
95            - ubuntu-toolchain-r-test
96
97    - os: linux
98      compiler: g++-7
99      env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17
100      addons:
101        apt:
102          packages:
103            - g++-7
104          sources:
105            - ubuntu-toolchain-r-test
106
107    - os: linux
108      compiler: g++-8
109      env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17,2a
110      addons:
111        apt:
112          packages:
113            - g++-8
114          sources:
115            - ubuntu-toolchain-r-test
116
117    - os: linux
118      compiler: g++-9
119      env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a
120      addons:
121        apt:
122          packages:
123            - g++-9
124          sources:
125            - ubuntu-toolchain-r-test
126
127    - os: linux
128      dist: bionic
129      compiler: g++-10
130      env: UBSAN=1 TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold
131      addons:
132        apt:
133          packages:
134            - g++-10
135          sources:
136            - ubuntu-toolchain-r-test
137
138    - os: linux
139      compiler: clang++
140      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
141
142    - os: linux
143      dist: trusty
144      compiler: /usr/bin/clang++
145      env: COMMENT=clang-3.3 TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
146      addons:
147        apt:
148          packages:
149            - clang-3.3
150
151    - os: linux
152      dist: trusty
153      compiler: /usr/bin/clang++
154      env: COMMENT=clang-3.4 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          sources:
168            - ubuntu-toolchain-r-test
169
170    - os: linux
171      compiler: clang++-3.6
172      env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z
173      addons:
174        apt:
175          packages:
176            - clang-3.6
177          sources:
178            - ubuntu-toolchain-r-test
179
180    - os: linux
181      compiler: clang++-3.7
182      env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z
183      addons:
184        apt:
185          packages:
186            - clang-3.7
187          sources:
188            - ubuntu-toolchain-r-test
189
190    - os: linux
191      compiler: clang++-3.8
192      env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z
193      addons:
194        apt:
195          packages:
196            - clang-3.8
197          sources:
198            - ubuntu-toolchain-r-test
199
200    - os: linux
201      compiler: clang++-3.9
202      env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z
203      addons:
204        apt:
205          packages:
206            - clang-3.9
207          sources:
208            - ubuntu-toolchain-r-test
209
210    - os: linux
211      compiler: clang++-4.0
212      env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z
213      addons:
214        apt:
215          packages:
216            - clang-4.0
217          sources:
218            - ubuntu-toolchain-r-test
219
220    - os: linux
221      compiler: clang++-5.0
222      env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z
223      addons:
224        apt:
225          packages:
226            - clang-5.0
227          sources:
228            - ubuntu-toolchain-r-test
229
230    - os: linux
231      compiler: clang++-6.0
232      env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17
233      addons:
234        apt:
235          packages:
236            - clang-6.0
237          sources:
238            - ubuntu-toolchain-r-test
239
240    - os: linux
241      compiler: clang++-7
242      env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a
243      addons:
244        apt:
245          packages:
246            - clang-7
247          sources:
248            - ubuntu-toolchain-r-test
249            - llvm-toolchain-xenial-7
250
251    - os: linux
252      compiler: clang++-8
253      env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a
254      addons:
255        apt:
256          packages:
257            - clang-8
258          sources:
259            - ubuntu-toolchain-r-test
260            - llvm-toolchain-xenial-8
261
262    - os: linux
263      dist: xenial
264      compiler: clang++-9
265      env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11,14,17,2a
266      addons:
267        apt:
268          packages:
269            - clang-9
270          sources:
271            - ubuntu-toolchain-r-test
272            - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
273              key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
274
275    - os: linux
276      dist: xenial
277      compiler: clang++-10
278      env: TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,2a
279      addons:
280        apt:
281          packages:
282            - clang-10
283          sources:
284            - ubuntu-toolchain-r-test
285            - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main'
286              key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
287
288    - os: linux
289      dist: xenial
290      compiler: clang++-11
291      env: UBSAN=1 TOOLSET=clang COMPILER=clang++-11 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1
292      addons:
293        apt:
294          packages:
295            - clang-11
296          sources:
297            - ubuntu-toolchain-r-test
298            - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main'
299              key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
300
301    - os: linux
302      dist: trusty
303      compiler: clang++-libc++
304      env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z
305      addons:
306        apt:
307          packages:
308            - libc++-dev
309
310    - os: linux
311      dist: bionic
312      compiler: clang++-libc++
313      env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1
314      addons:
315        apt:
316          packages:
317            - libc++-dev
318
319    - os: osx
320      compiler: clang++
321      env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1
322
323    - os: linux
324      env: CMAKE=1
325      script:
326        - mkdir __build__ && cd __build__
327        - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=assert ..
328        - ctest --output-on-failure -R boost_assert
329
330    - os: linux
331      env: CMAKE_SUBDIR=1
332      install:
333        - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
334        - git clone -b $BOOST_BRANCH https://github.com/boostorg/config.git ../config
335      script:
336        - cd test/cmake_subdir_test && mkdir __build__ && cd __build__
337        - cmake ..
338        - cmake --build .
339        - cmake --build . --target check
340
341    - os: linux
342      env: CMAKE_INSTALL=1
343      script:
344        - mkdir __build__ && cd __build__
345        - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=assert -DCMAKE_INSTALL_PREFIX=~/.local ..
346        - cmake --build . --target install
347        - cd ../libs/assert/test/cmake_install_test && mkdir __build__ && cd __build__
348        - cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
349        - cmake --build .
350        - cmake --build . --target check
351
352
353install:
354  - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
355  - cd ..
356  - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
357  - cd boost-root
358  - git submodule update --init tools/build
359  - git submodule update --init tools/boost_install
360  - git submodule update --init libs/config
361  - git submodule update --init libs/core
362  - git submodule update --init libs/headers
363  - git submodule update --init tools/cmake
364  - cp -r $TRAVIS_BUILD_DIR/* libs/assert
365  - ./bootstrap.sh
366  - ./b2 headers
367
368script:
369  - |-
370    echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
371  - ./b2 libs/assert/test toolset=$TOOLSET cxxstd=$CXXSTD
372
373notifications:
374  email:
375    on_success: always
376