• 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
118    - os: freebsd
119      compiler: clang++
120      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,17,2a
121
122    - os: osx
123      compiler: clang++
124      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64
125      osx_image: xcode7.3
126
127    - os: osx
128      compiler: clang++
129      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64
130      osx_image: xcode8.3
131
132    - os: osx
133      compiler: clang++
134      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64
135      osx_image: xcode9.4
136
137    - os: osx
138      compiler: clang++
139      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
140      osx_image: xcode10.1
141
142    - os: osx
143      osx_image: xcode11.3
144      compiler: clang++
145      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
146
147    - os: osx
148      osx_image: xcode12.2
149      compiler: clang++
150      env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1
151
152    - os: linux
153      env: CMAKE=1
154      script:
155        - mkdir __build__ && cd __build__
156        - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=system -DBUILD_TESTING=ON ..
157        - ctest --output-on-failure -R boost_system
158
159    - os: linux
160      env: CMAKE=1 BUILD_SHARED_LIBS=ON
161      script:
162        - mkdir __build__ && cd __build__
163        - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBUILD_SHARED_LIBS=ON -DBOOST_INCLUDE_LIBRARIES=system -DBUILD_TESTING=ON ..
164        - ctest --output-on-failure -R boost_system
165
166    - os: linux
167      env: CMAKE_SUBDIR_TEST=1
168      install:
169        - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
170        - git clone -b $BOOST_BRANCH https://github.com/boostorg/assert.git ../assert
171        - git clone -b $BOOST_BRANCH https://github.com/boostorg/config.git ../config
172        - git clone -b $BOOST_BRANCH https://github.com/boostorg/core.git ../core
173        - git clone -b $BOOST_BRANCH https://github.com/boostorg/predef.git ../predef
174        - git clone -b $BOOST_BRANCH https://github.com/boostorg/winapi.git ../winapi
175      script:
176      - cd test/cmake_subdir_test && mkdir __build__ && cd __build__
177      - cmake ..
178      - cmake --build .
179      - cmake --build . --target check
180
181    - os: linux
182      env: CMAKE_INSTALL=1
183      script:
184        - pip install --user cmake
185        - mkdir __build__ && cd __build__
186        - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES="system;core" -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=~/.local ..
187        - cmake --build . --target install
188        - cd ../libs/system/test/cmake_install_test && mkdir __build__ && cd __build__
189        - cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
190        - cmake --build .
191        - cmake --build . --target check
192
193install:
194  - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
195  - cd ..
196  - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
197  - cd boost-root
198  - git submodule update --init tools/boostdep
199  - cp -r $TRAVIS_BUILD_DIR/* libs/system
200  - python tools/boostdep/depinst/depinst.py system
201  - ./bootstrap.sh
202  - ./b2 headers
203
204script:
205  - |-
206    echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
207  - ./b2 -j3 libs/system/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}
208
209notifications:
210  email:
211    on_success: always
212