• 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
7dist: xenial
8
9branches:
10  only:
11    - master
12    - develop
13    - /feature\/.*/
14
15env:
16  matrix:
17    - BOGUS_JOB=true
18
19matrix:
20
21  exclude:
22    - env: BOGUS_JOB=true
23
24  include:
25    - os: linux
26      compiler: g++
27      env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 ADDRMD=32,64
28      addons:
29        apt:
30          packages:
31            - g++-multilib
32
33    - os: linux
34      arch: arm64
35      compiler: g++
36      env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 ADDRMD=32,64
37
38    - os: linux
39      arch: ppc64le
40      compiler: g++
41      env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14
42
43    - os: linux
44      arch: s390x
45      compiler: g++
46      env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 ADDRMD=32,64
47
48    - os: linux
49      compiler: g++-4.4
50      env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x
51      addons:
52        apt:
53          packages:
54            - g++-4.4
55          sources:
56            - ubuntu-toolchain-r-test
57
58    - os: linux
59      compiler: g++-4.6
60      env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x
61      addons:
62        apt:
63          packages:
64            - g++-4.6
65          sources:
66            - ubuntu-toolchain-r-test
67
68    - os: linux
69      dist: bionic
70      compiler: g++-10
71      env: UBSAN=1 TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,20 UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold
72      addons:
73        apt:
74          packages:
75            - g++-10
76          sources:
77            - sourceline: "ppa:ubuntu-toolchain-r/test"
78
79    - os: linux
80      dist: trusty
81      compiler: /usr/bin/clang++
82      env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
83      addons:
84        apt:
85          packages:
86            - clang-3.3
87
88    - os: linux
89      dist: trusty
90      compiler: /usr/bin/clang++
91      env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
92      addons:
93        apt:
94          packages:
95            - clang-3.4
96
97    - os: linux
98      compiler: clang++-11
99      env: UBSAN=1 TOOLSET=clang COMPILER=clang++-11 CXXSTD=03,11,14,17,20 UBSAN_OPTIONS=print_stacktrace=1
100      addons:
101        apt:
102          packages:
103            - clang-11
104          sources:
105            - ubuntu-toolchain-r-test
106            - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main'
107              key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
108
109    - os: linux
110      dist: bionic
111      compiler: clang++-libc++
112      env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1
113      addons:
114        apt:
115          packages:
116            - libc++-dev
117            - libc++abi-dev
118
119    - os: freebsd
120      compiler: clang++
121      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,17,2a
122
123    - os: osx
124      compiler: clang++
125      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64
126      osx_image: xcode7.3
127
128    - os: osx
129      compiler: clang++
130      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64
131      osx_image: xcode8.3
132
133    - os: osx
134      compiler: clang++
135      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64
136      osx_image: xcode9.4
137
138    - os: osx
139      compiler: clang++
140      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
141      osx_image: xcode10.1
142
143    - os: osx
144      osx_image: xcode11.3
145      compiler: clang++
146      env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1
147
148    - os: linux
149      env: CMAKE_TEST=1
150      script:
151        - mkdir __build__ && cd __build__
152        - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=core ..
153        - ctest --output-on-failure -R boost_core
154
155    - os: linux
156      env: CMAKE_SUBDIR_TEST=1
157      install:
158        - BOOST_BRANCH=develop
159        - if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi
160        - git clone -b $BOOST_BRANCH https://github.com/boostorg/config.git ../config
161        - git clone -b $BOOST_BRANCH https://github.com/boostorg/assert.git ../assert
162      script:
163      - cd test/cmake_subdir_test && mkdir __build__ && cd __build__
164      - cmake ..
165      - cmake --build .
166      - cmake --build . --target check
167
168    - os: linux
169      env: CMAKE_INSTALL_TEST=1
170      script:
171        - mkdir __build__ && cd __build__
172        - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES="assert;config;core" -DCMAKE_INSTALL_PREFIX=~/.local ..
173        - cmake --build . --target install
174        - cd ../libs/core/test/cmake_install_test && mkdir __build__ && cd __build__
175        - cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
176        - cmake --build .
177        - cmake --build . --target check
178
179install:
180  - BOOST_BRANCH=develop
181  - if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi
182  - cd ..
183  - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
184  - cd boost-root
185  - git submodule init libs/headers
186  - git submodule init libs/assert
187  - git submodule init libs/config
188  - git submodule init libs/predef
189  - git submodule init libs/static_assert
190  - git submodule init libs/throw_exception
191  - git submodule init libs/type_traits
192  - git submodule init tools/build
193  - git submodule init tools/boost_install
194  - git submodule init tools/cmake
195  - git submodule update
196  - cp -r $TRAVIS_BUILD_DIR/* libs/core
197  - ./bootstrap.sh
198  - ./b2 headers
199
200script:
201  - |-
202    echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
203  - BUILD_JOBS=`(nproc || sysctl -n hw.ncpu) 2> /dev/null`
204  - ./b2 -j $BUILD_JOBS libs/core/test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${ADDRMD:+address-model=$ADDRMD} ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS}
205
206notifications:
207  email:
208    on_success: always
209