• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016, 2017 Peter Dimov
2# Copyright 2019 Andrey Semashev
3# Distributed under the Boost Software License, Version 1.0.
4# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
5
6language: cpp
7
8sudo: false
9
10python: "2.7"
11
12branches:
13  only:
14    - master
15    - develop
16    - /feature\/.*/
17
18env:
19  matrix:
20    - BOGUS_JOB=true
21
22matrix:
23
24  exclude:
25    - env: BOGUS_JOB=true
26
27  include:
28# gcc, Linux
29    - os: linux
30      dist: trusty
31      compiler: gcc-4.4
32      env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x
33      addons:
34        apt:
35          packages:
36            - g++-4.4
37          sources:
38            - ubuntu-toolchain-r-test
39
40    - os: linux
41      dist: trusty
42      compiler: gcc-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      dist: trusty
53      compiler: gcc-4.7
54      env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11
55      addons:
56        apt:
57          packages:
58            - g++-4.7
59          sources:
60            - ubuntu-toolchain-r-test
61
62    - os: linux
63      dist: xenial
64      compiler: gcc-4.8
65      env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11
66      addons:
67        apt:
68          packages:
69            - g++-4.8
70          sources:
71            - ubuntu-toolchain-r-test
72
73    - os: linux
74      dist: xenial
75      compiler: gcc-4.9
76      env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11
77      addons:
78        apt:
79          packages:
80            - g++-4.9
81          sources:
82            - ubuntu-toolchain-r-test
83
84    - os: linux
85      dist: xenial
86      compiler: gcc-5
87      env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z
88      addons:
89        apt:
90          packages:
91            - g++-5
92          sources:
93            - ubuntu-toolchain-r-test
94
95    - os: linux
96      dist: xenial
97      compiler: gcc-6
98      env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z
99      addons:
100        apt:
101          packages:
102            - g++-6
103          sources:
104            - ubuntu-toolchain-r-test
105
106    - os: linux
107      dist: xenial
108      compiler: gcc-7
109      env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17
110      addons:
111        apt:
112          packages:
113            - g++-7
114          sources:
115            - ubuntu-toolchain-r-test
116
117    - os: linux
118      dist: xenial
119      compiler: gcc-8
120      env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17,2a
121      addons:
122        apt:
123          packages:
124            - g++-8
125          sources:
126            - ubuntu-toolchain-r-test
127
128    - os: linux
129      dist: bionic
130      compiler: gcc-9
131      env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a
132      addons:
133        apt:
134          packages:
135            - g++-9
136          sources:
137            - sourceline: "ppa:ubuntu-toolchain-r/test"
138
139    - os: linux
140      dist: bionic
141      compiler: gcc-10
142      env: TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,20
143      addons:
144        apt:
145          packages:
146            - g++-10
147          sources:
148            - sourceline: "ppa:ubuntu-toolchain-r/test"
149
150# clang, Linux
151    - os: linux
152      dist: trusty
153      compiler: clang-3.5
154      env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11
155      addons:
156        apt:
157          packages:
158            - clang-3.5
159            - libstdc++-4.9-dev
160          sources:
161            - ubuntu-toolchain-r-test
162            - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.5 main"
163              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
164
165    - os: linux
166      dist: trusty
167      compiler: clang-3.6
168      env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z
169      addons:
170        apt:
171          packages:
172            - clang-3.6
173            - libstdc++-5-dev
174          sources:
175            - ubuntu-toolchain-r-test
176            - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.6 main"
177              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
178
179    - os: linux
180      dist: trusty
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            - libstdc++-5-dev
188          sources:
189            - ubuntu-toolchain-r-test
190            - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.7 main"
191              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
192
193    - os: linux
194      dist: xenial
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++-6-dev
202          sources:
203            - ubuntu-toolchain-r-test
204            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.8 main"
205              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
206
207    - os: linux
208      dist: xenial
209      compiler: clang-3.9
210      env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z
211      addons:
212        apt:
213          packages:
214            - clang-3.9
215            - libstdc++-6-dev
216          sources:
217            - ubuntu-toolchain-r-test
218            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.9 main"
219              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
220
221    - os: linux
222      dist: xenial
223      compiler: clang-4
224      env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z
225      addons:
226        apt:
227          packages:
228            - clang-4.0
229            - libstdc++-6-dev
230          sources:
231            - ubuntu-toolchain-r-test
232            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main"
233              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
234
235    - os: linux
236      dist: xenial
237      compiler: clang-5
238      env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z
239      addons:
240        apt:
241          packages:
242            - clang-5.0
243            - libstdc++-7-dev
244          sources:
245            - ubuntu-toolchain-r-test
246            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main"
247              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
248
249    - os: linux
250      dist: xenial
251      compiler: clang-6
252      env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17,2a
253      addons:
254        apt:
255          packages:
256            - clang-6.0
257            - libstdc++-8-dev
258          sources:
259            - ubuntu-toolchain-r-test
260            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main"
261              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
262
263    - os: linux
264      dist: xenial
265      compiler: clang-7
266      env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a
267      addons:
268        apt:
269          packages:
270            - clang-7
271            - libstdc++-8-dev
272          sources:
273            - ubuntu-toolchain-r-test
274            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main"
275              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
276
277    - os: linux
278      dist: xenial
279      compiler: clang-8
280      env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a
281      addons:
282        apt:
283          packages:
284            - clang-8
285            - libstdc++-8-dev
286          sources:
287            - ubuntu-toolchain-r-test
288            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main"
289              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
290
291    - os: linux
292      dist: xenial
293      compiler: clang-9
294      env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11,14,17,2a
295      addons:
296        apt:
297          packages:
298            - clang-9
299            - libstdc++-9-dev
300          sources:
301            - sourceline: "ppa:ubuntu-toolchain-r/test"
302            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main"
303              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
304
305    - os: linux
306      dist: xenial
307      compiler: clang-10
308      env: TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,20
309      addons:
310        apt:
311          packages:
312            - clang-10
313            - libstdc++-9-dev
314          sources:
315            - sourceline: "ppa:ubuntu-toolchain-r/test"
316            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main"
317              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
318
319    - os: linux
320      dist: xenial
321      compiler: clang-libc++
322      env: TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,20 CXXFLAGS="-stdlib=libc++" LINKFLAGS="-stdlib=libc++"
323      addons:
324        apt:
325          packages:
326            - clang-10
327            - libc++-10-dev
328            - libc++abi-10-dev
329          sources:
330            - sourceline: "ppa:ubuntu-toolchain-r/test"
331            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main"
332              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
333
334# clang, OS X
335# OS X builds are slow on Travis CI
336#    - os: osx
337#      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
338#      osx_image: xcode9.4
339#
340#    - os: osx
341#      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
342#      osx_image: xcode10.3
343
344    - os: osx
345      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,17
346      osx_image: xcode11.2
347
348install:
349  - GIT_FETCH_JOBS=8
350  - BOOST_BRANCH=develop
351  - if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi
352  - cd ..
353  - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
354  - cd boost-root
355  - git submodule init tools/build
356  - git submodule init tools/boost_install
357  - git submodule init libs/headers
358  - git submodule init libs/assert
359  - git submodule init libs/config
360  - git submodule init libs/core
361  - git submodule init libs/io
362  - git submodule init libs/preprocessor
363  - git submodule init libs/static_assert
364  - git submodule init libs/throw_exception
365  - git submodule init libs/type_traits
366  - git submodule init libs/container_hash
367  - git submodule init libs/integer
368  - git submodule init libs/detail
369  - git submodule update --jobs $GIT_FETCH_JOBS
370  - cp -r $TRAVIS_BUILD_DIR/* libs/utility
371  - ./bootstrap.sh
372  - ./b2 headers
373
374script:
375  - |-
376    echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
377  - BUILD_JOBS=`(nproc || sysctl -n hw.ncpu) 2> /dev/null`
378  - ./b2 -j $BUILD_JOBS libs/utility/test toolset=$TOOLSET cxxstd=$CXXSTD ${CXXFLAGS:+cxxflags="$CXXFLAGS"} ${LINKFLAGS:+linkflags="$LINKFLAGS"}
379
380notifications:
381  email:
382    on_success: always
383