2 GIT_BRANCH: $(Build.SourceBranch)
7 vmImage: 'ubuntu-16.04'
9 image: djarek/boost-beast-ci:latest
13 sudo apt update && sudo apt install -y g++ lcov
14 displayName: Get dependencies
17 export BUILD_DIR=$(pwd)
19 $BUILD_DIR/tools/get-boost.sh $GIT_BRANCH $BUILD_DIR
22 ./bootstrap.sh || cat bootstrap.log
23 displayName: Get Boost
27 ./b2 libs/beast/test//run-fat-tests toolset=gcc coverage=on link=static cxxstd=11 -j2
28 libs/beast/tools/coverage.sh
30 CODECOV_TOKEN: $(CODECOV_TOKEN)
31 displayName: Build & Run tests
34 vmImage: 'ubuntu-16.04'
36 image: djarek/boost-beast-ci:latest
45 B2_FLAGS: <define>BOOST_BEAST_USE_STD_STRING_VIEW
47 B2_TARGETS: libs/beast/test//run-fat-tests libs/beast/example
48 GCC 9 C++11 HEADER_ONLY NO_DEPRECATED:
53 B2_FLAGS: <boost.beast.separate-compilation>off <boost.beast.allow-deprecated>off
55 B2_TARGETS: libs/beast/test//run-fat-tests
56 GCC 9 C++11 NO_DEPRECATED NO_TLS:
61 B2_FLAGS: <boost.beast.allow-deprecated>off <define>BOOST_NO_CXX11_THREAD_LOCAL
63 B2_TARGETS: libs/beast/test//run-fat-tests
69 B2_FLAGS: <address-sanitizer>norecover <undefined-sanitizer>norecover
70 # use GOLD to workaround UBSAN linker issue in gcc 7/8
71 # https://stackoverflow.com/questions/50024731/ld-unrecognized-option-push-state-no-as-needed
72 CXX_FLAGS: <cxxflags>"-msse4.2 -funsigned-char -fno-omit-frame-pointer" <linkflags>-fuse-ld=gold
74 B2_TARGETS: libs/beast/test//run-fat-tests
80 B2_FLAGS: <thread-sanitizer>norecover
81 CXX_FLAGS: <cxxflags>"-msse4.2 -funsigned-char -fno-omit-frame-pointer"
83 B2_TARGETS: libs/beast/test//run-fat-tests
89 B2_FLAGS: <define>BOOST_BEAST_USE_STD_STRING_VIEW
91 B2_TARGETS: libs/beast/test//run-fat-tests libs/beast/example
92 GCC 8 C++11 HEADER_ONLY NO_DEPRECATED:
97 B2_FLAGS: <boost.beast.separate-compilation>off <boost.beast.allow-deprecated>off
99 B2_TARGETS: libs/beast/test//run-fat-tests
105 B2_FLAGS: <address-sanitizer>norecover <undefined-sanitizer>norecover
106 # use GOLD to workaround UBSAN linker issue in gcc 7/8
107 # https://stackoverflow.com/questions/50024731/ld-unrecognized-option-push-state-no-as-needed
108 CXX_FLAGS: <cxxflags>"-msse4.2 -funsigned-char -fno-omit-frame-pointer" <linkflags>-fuse-ld=gold
110 B2_TARGETS: libs/beast/test//run-fat-tests
116 B2_FLAGS: <thread-sanitizer>norecover
117 CXX_FLAGS: <cxxflags>"-msse4.2 -funsigned-char -fno-omit-frame-pointer"
119 B2_TARGETS: libs/beast/test//run-fat-tests
120 GCC 7 C++14 Valgrind:
123 PACKAGES: g++-7 valgrind
125 B2_FLAGS: <define>BOOST_BEAST_TEST_STATIC_PRNG_SEED <valgrind>on <testing.launcher>"valgrind --track-origins=yes --error-exitcode=1 --max-stackframe=16000000 --suppressions=libs/beast/tools/valgrind.supp"
127 B2_TARGETS: libs/beast/test//run-fat-tests
128 GCC Default C++11 Release:
134 B2_TARGETS: libs/beast/test//run-fat-tests libs/beast/example
135 Clang 6.0 C++11 Debug:
141 B2_TARGETS: libs/beast/test//run-fat-tests libs/beast/example
142 Clang 7 libc++ C++14 Valgrind:
145 PACKAGES: clang-7 libc++-7-dev libc++abi-7-dev valgrind
147 B2_FLAGS: <valgrind>on <testing.launcher>"valgrind --track-origins=yes --error-exitcode=1 --max-stackframe=16000000 --suppressions=libs/beast/tools/valgrind.supp"
149 CXX_FLAGS: <cxxflags>"-stdlib=libc++" <linkflags>"-stdlib=libc++"
150 B2_TARGETS: libs/beast/test//run-fat-tests
157 B2_TARGETS: libs/beast/test//run-fat-tests libs/beast/example
158 Clang 7 C++14 Release:
164 B2_TARGETS: libs/beast/test//run-fat-tests libs/beast/example
165 Clang Default C++11 Debug:
171 B2_TARGETS: libs/beast/test//run-fat-tests libs/beast/example
172 Clang 8 libc++ C++14 UBASAN:
175 PACKAGES: clang-8 libc++-8-dev libc++abi-8-dev
177 B2_FLAGS: <address-sanitizer>norecover <undefined-sanitizer>norecover
178 UBSAN_OPTIONS: print_stacktrace=1
180 CXX_FLAGS: <cxxflags>"-stdlib=libc++ -msse4.2 -funsigned-char -fno-omit-frame-pointer" <linkflags>-stdlib=libc++
181 B2_TARGETS: libs/beast/test//run-fat-tests
182 Clang 8 libc++ C++14 TSAN:
185 PACKAGES: clang-8 libc++-8-dev libc++abi-8-dev
187 B2_FLAGS: <thread-sanitizer>norecover
189 CXX_FLAGS: <cxxflags>"-stdlib=libc++ -msse4.2 -funsigned-char -fno-omit-frame-pointer" <linkflags>-stdlib=libc++
190 B2_TARGETS: libs/beast/test//run-fat-tests
191 Clang 9 libc++ C++14 Release HEADER_ONLY NO_DEPRECATED:
194 PACKAGES: clang-9 libc++-9-dev libc++abi-9-dev
196 B2_FLAGS: <boost.beast.separate-compilation>off <boost.beast.allow-deprecated>off
198 CXX_FLAGS: <cxxflags>"-stdlib=libc++ -msse4.2 -funsigned-char -fno-omit-frame-pointer" <linkflags>-stdlib=libc++
199 B2_TARGETS: libs/beast/test//run-fat-tests
200 Clang 9 libc++ C++17 UBASAN:
203 PACKAGES: clang-9 libc++-9-dev libc++abi-9-dev
205 B2_FLAGS: <address-sanitizer>norecover <undefined-sanitizer>norecover
206 UBSAN_OPTIONS: print_stacktrace=1
208 CXX_FLAGS: <cxxflags>"-stdlib=libc++ -msse4.2 -funsigned-char -fno-omit-frame-pointer" <linkflags>-stdlib=libc++
209 B2_TARGETS: libs/beast/test//run-fat-tests
210 Clang 9 libc++ C++17 TSAN:
213 PACKAGES: clang-9 libc++-9-dev libc++abi-9-dev
215 B2_FLAGS: <thread-sanitizer>norecover
217 CXX_FLAGS: <cxxflags>"-stdlib=libc++ -msse4.2 -funsigned-char -fno-omit-frame-pointer" <linkflags>-stdlib=libc++
218 B2_TARGETS: libs/beast/test//run-fat-tests
219 Clang 9 libc++ C++11 Release HEADER_ONLY NO_DEPRECATED:
222 PACKAGES: clang-9 libc++-9-dev libc++abi-9-dev
224 B2_FLAGS: <boost.beast.separate-compilation>off <boost.beast.allow-deprecated>off
226 CXX_FLAGS: <cxxflags>"-stdlib=libc++ -msse4.2 -funsigned-char -fno-omit-frame-pointer" <linkflags>-stdlib=libc++
227 B2_TARGETS: libs/beast/test//run-fat-tests
230 sudo apt update && sudo apt install -y $PACKAGES
231 displayName: Get dependencies
234 export BUILD_DIR=$(pwd)
236 $BUILD_DIR/tools/get-boost.sh $GIT_BRANCH $BUILD_DIR
238 ./bootstrap.sh || cat bootstrap.log
239 cp libs/beast/tools/user-config.jam ~/user-config.jam
240 echo "using $TOOLSET : : $(which $CXX) : $CXX_FLAGS ;" >> ~/user-config.jam
241 echo "project : requirements $B2_FLAGS ;" >> ~/user-config.jam
242 displayName: Get Boost
246 echo "B2_FLAGS: $B2_FLAGS"
248 --debug-configuration \
253 displayName: Build & Run tests
257 vmImage: 'macOS-10.13'
260 Xcode 10.1 C++17 Release:
264 XCODE_APP: /Applications/Xcode_10.1.app
265 Xcode 9.4.1 C++11 Release:
269 XCODE_APP: /Applications/Xcode_9.4.1.app
273 displayName: Get OpenSSL
276 sudo xcode-select -switch ${XCODE_APP}
278 export BUILD_DIR=$(pwd)
280 $BUILD_DIR/tools/get-boost.sh $GIT_BRANCH $BUILD_DIR
282 ./bootstrap.sh || cat bootstrap.log
283 cp libs/beast/tools/user-config.jam ~/user-config.jam
284 displayName: Get Boost
287 export OPENSSL_ROOT=$(brew --prefix openssl)
290 --debug-configuration \
291 define=BOOST_COROUTINES_NO_DEPRECATION_WARNING=1 \
293 libs/beast/test//run-fat-tests \
297 displayName: Build & Run tests
302 # MSVC14.2: # FIXME(djarek): windows-2019 doesn't have vcpkg
304 VM_IMAGE: 'windows-2019'
306 B2_FLAGS: define=BOOST_BEAST_USE_STD_STRING_VIEW
310 VM_IMAGE: 'vs2017-win2016'
312 B2_FLAGS: define=BOOST_BEAST_USE_STD_STRING_VIEW
316 VM_IMAGE: 'vs2017-win2016'
324 vcpkg install openssl --triplet "x$ADDRMODEL""-windows"
325 displayName: Get OpenSSL
329 export BUILD_DIR=$(pwd)
331 $BUILD_DIR/tools/get-boost.sh $GIT_BRANCH $BUILD_DIR
334 cp libs/beast/tools/user-config.jam ~/user-config.jam
335 displayName: Get Boost
339 echo "VCPKG_ROOT: $VCPKG_INSTALLATION_ROOT"
340 export OPENSSL_ROOT="$VCPKG_INSTALLATION_ROOT""/installed/x$ADDRMODEL""-windows"
343 --debug-configuration \
346 address-model=$ADDRMODEL \
351 --debug-configuration \
352 variant=debug,release \
354 address-model=$ADDRMODEL \
358 libs/beast/test//run-fat-tests
359 displayName: Build & Run tests