forked from boostorg/beast
Cleanup CI:
close #1558 - Parallelize submodule clone. - Do a shallow submodule clone. - Move submodule update code to a script. - Build with BOOST_BEAST_USE_STD_STRING_VIEW on msvc Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
This commit is contained in:
committed by
Vinnie Falco
parent
a0932ea45c
commit
df0e9336bf
100
.travis.yml
100
.travis.yml
@ -48,8 +48,12 @@ matrix:
|
||||
# Default clang++ with libc++
|
||||
- os: linux
|
||||
compiler: clang++-libc++
|
||||
script: b2 -j3 libs/beast/test toolset=clang cxxstd=11 cxxflags=-stdlib=libc++ linkflags=-stdlib=libc++
|
||||
#script: b2 -j3 libs/beast/test toolset=clang cxxstd=11 cxxflags=-stdlib=libc++ linkflags="-stdlib=libc++ -lc++abi"
|
||||
env:
|
||||
- VARIANT=debug
|
||||
- TOOLSET=clang
|
||||
- COMPILER=clang++-libc++
|
||||
- CXXSTD=11
|
||||
- CXX_FLAGS="<cxxflags>-stdlib=libc++ <linkflags>-stdlib=libc++"
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@ -58,7 +62,11 @@ matrix:
|
||||
# Default g++
|
||||
- os: linux
|
||||
compiler: g++
|
||||
script: b2 -j3 libs/beast/test toolset=gcc cxxstd=11
|
||||
env:
|
||||
- VARIANT=release
|
||||
- TOOLSET=gcc
|
||||
- COMPILER=g++
|
||||
- CXXSTD=11
|
||||
|
||||
# GCC 8, C++17, libstdc++, release
|
||||
- os: linux
|
||||
@ -114,7 +122,7 @@ matrix:
|
||||
- llvm-toolchain-precise-3.8
|
||||
- *base_sources
|
||||
|
||||
# OSX Clang, C++14, libc++, debug,
|
||||
# OSX Clang, C++14, libc++, debug,
|
||||
# - if: branch != master
|
||||
- os: osx
|
||||
compiler: clang++
|
||||
@ -124,91 +132,19 @@ matrix:
|
||||
- COMPILER=clang++
|
||||
- CXXSTD=14
|
||||
before_install:
|
||||
- brew install openssl
|
||||
- export OPENSSL_ROOT=$(brew --prefix openssl)
|
||||
|
||||
install:
|
||||
- export BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
|
||||
- cd ..
|
||||
- git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
- $TRAVIS_BUILD_DIR/tools/get-boost.sh $TRAVIS_BRANCH $TRAVIS_BUILD_DIR
|
||||
- cd boost-root
|
||||
- export BOOST_ROOT="`pwd`"
|
||||
- export PATH="`pwd`":$PATH
|
||||
- git submodule update --init libs/headers
|
||||
- git submodule update --init tools/build
|
||||
- git submodule update --init tools/boost_install
|
||||
- git submodule update --init tools/boostdep
|
||||
- git submodule update --init libs/align
|
||||
- git submodule update --init libs/asio
|
||||
- git submodule update --init libs/assert
|
||||
- git submodule update --init libs/config
|
||||
- git submodule update --init libs/core
|
||||
- git submodule update --init libs/endian
|
||||
- git submodule update --init libs/filesystem
|
||||
- git submodule update --init libs/intrusive
|
||||
- git submodule update --init libs/locale
|
||||
- git submodule update --init libs/optional
|
||||
- git submodule update --init libs/smart_ptr
|
||||
- git submodule update --init libs/static_assert
|
||||
- git submodule update --init libs/system
|
||||
- git submodule update --init libs/throw_exception
|
||||
- git submodule update --init libs/type_traits
|
||||
- git submodule update --init libs/utility
|
||||
- git submodule update --init libs/winapi
|
||||
|
||||
- git submodule update --init libs/algorithm
|
||||
- git submodule update --init libs/array
|
||||
- git submodule update --init libs/atomic
|
||||
- git submodule update --init libs/bind
|
||||
- git submodule update --init libs/chrono
|
||||
- git submodule update --init libs/concept_check
|
||||
- git submodule update --init libs/container
|
||||
- git submodule update --init libs/container_hash
|
||||
- git submodule update --init libs/context
|
||||
- git submodule update --init libs/conversion
|
||||
- git submodule update --init libs/coroutine
|
||||
- git submodule update --init libs/date_time
|
||||
- git submodule update --init libs/detail
|
||||
- git submodule update --init libs/exception
|
||||
- git submodule update --init libs/function
|
||||
- git submodule update --init libs/function_types
|
||||
- git submodule update --init libs/functional
|
||||
- git submodule update --init libs/fusion
|
||||
- git submodule update --init libs/integer
|
||||
- git submodule update --init libs/io
|
||||
- git submodule update --init libs/iterator
|
||||
- git submodule update --init libs/lambda
|
||||
- git submodule update --init libs/lexical_cast
|
||||
- git submodule update --init libs/logic
|
||||
- git submodule update --init libs/math
|
||||
- git submodule update --init libs/move
|
||||
- git submodule update --init libs/mp11
|
||||
- git submodule update --init libs/mpl
|
||||
- git submodule update --init libs/numeric/conversion
|
||||
- git submodule update --init libs/pool
|
||||
- git submodule update --init libs/predef
|
||||
- git submodule update --init libs/preprocessor
|
||||
- git submodule update --init libs/random
|
||||
- git submodule update --init libs/range
|
||||
- git submodule update --init libs/ratio
|
||||
- git submodule update --init libs/rational
|
||||
- git submodule update --init libs/serialization
|
||||
- git submodule update --init libs/thread
|
||||
- git submodule update --init libs/tokenizer
|
||||
- git submodule update --init libs/tuple
|
||||
- git submodule update --init libs/type_index
|
||||
- git submodule update --init libs/typeof
|
||||
- git submodule update --init libs/unordered
|
||||
- rm -rf libs/beast
|
||||
- mkdir libs/beast
|
||||
- cp -r $TRAVIS_BUILD_DIR/* libs/beast
|
||||
- export PATH=$PATH:"`pwd`"
|
||||
- export BOOST_ROOT=$(pwd)
|
||||
- ./bootstrap.sh
|
||||
|
||||
- cp libs/beast/tools/user-config.jam ~/user-config.jam
|
||||
- |-
|
||||
echo "using $TOOLSET : : $COMPILER : $CXX_FLAGS ;" >> ~/user-config.jam
|
||||
script:
|
||||
- |-
|
||||
cp libs/beast/tools/user-config.jam ~/user-config.jam
|
||||
- |-
|
||||
echo "using $TOOLSET : : $COMPILER ;" >> ~/user-config.jam
|
||||
- cd ../boost-root
|
||||
- libs/beast/tools/retry.sh libs/beast/tools/build-and-test.sh
|
||||
|
||||
|
91
appveyor.yml
91
appveyor.yml
@ -15,30 +15,21 @@ configuration:
|
||||
#- Debug
|
||||
- Release
|
||||
|
||||
image:
|
||||
- Visual Studio 2017
|
||||
|
||||
environment:
|
||||
OPENSSL_ROOT: C:\tools\vcpkg\installed\x64-windows
|
||||
matrix:
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
TOOLSET: msvc-14.0
|
||||
ADDRMD: 64
|
||||
CXXSTD: 11
|
||||
|
||||
# VFALCO Appveyor has a 1 hour time limit, and
|
||||
# I already test this configuration locally.
|
||||
#
|
||||
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
# TOOLSET: msvc-14.1
|
||||
# CXXSTD: 11
|
||||
# ADDRMD: 64
|
||||
|
||||
# This configuration is not available yet
|
||||
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
||||
# TOOLSET: msvc-14.2
|
||||
# CXXSTD: 11
|
||||
# ADDRMD: 64
|
||||
|
||||
install:
|
||||
- SET BOOST_BRANCH=develop
|
||||
@ -46,86 +37,18 @@ install:
|
||||
- vcpkg install openssl --triplet x64-windows
|
||||
- ps: cp tools\user-config.jam ~\user-config.jam
|
||||
- CD ..
|
||||
- git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
- cd boost-root
|
||||
- git submodule update --init libs/headers
|
||||
- git submodule update --init tools/build
|
||||
- git submodule update --init tools/boost_install
|
||||
- git submodule update --init tools/boostdep
|
||||
- git submodule update --init libs/align
|
||||
- git submodule update --init libs/asio
|
||||
- git submodule update --init libs/assert
|
||||
- git submodule update --init libs/config
|
||||
- git submodule update --init libs/core
|
||||
- git submodule update --init libs/endian
|
||||
- git submodule update --init libs/filesystem
|
||||
- git submodule update --init libs/intrusive
|
||||
- git submodule update --init libs/locale
|
||||
- git submodule update --init libs/optional
|
||||
- git submodule update --init libs/smart_ptr
|
||||
- git submodule update --init libs/static_assert
|
||||
- git submodule update --init libs/system
|
||||
- git submodule update --init libs/throw_exception
|
||||
- git submodule update --init libs/type_traits
|
||||
- git submodule update --init libs/utility
|
||||
- git submodule update --init libs/winapi
|
||||
|
||||
- git submodule update --init libs/algorithm
|
||||
- git submodule update --init libs/array
|
||||
- git submodule update --init libs/atomic
|
||||
- git submodule update --init libs/bind
|
||||
- git submodule update --init libs/chrono
|
||||
- git submodule update --init libs/concept_check
|
||||
- git submodule update --init libs/container
|
||||
- git submodule update --init libs/container_hash
|
||||
- git submodule update --init libs/context
|
||||
- git submodule update --init libs/conversion
|
||||
- git submodule update --init libs/coroutine
|
||||
- git submodule update --init libs/date_time
|
||||
- git submodule update --init libs/detail
|
||||
- git submodule update --init libs/exception
|
||||
- git submodule update --init libs/function
|
||||
- git submodule update --init libs/function_types
|
||||
- git submodule update --init libs/functional
|
||||
- git submodule update --init libs/fusion
|
||||
- git submodule update --init libs/integer
|
||||
- git submodule update --init libs/io
|
||||
- git submodule update --init libs/iterator
|
||||
- git submodule update --init libs/lambda
|
||||
- git submodule update --init libs/lexical_cast
|
||||
- git submodule update --init libs/logic
|
||||
- git submodule update --init libs/math
|
||||
- git submodule update --init libs/move
|
||||
- git submodule update --init libs/mp11
|
||||
- git submodule update --init libs/mpl
|
||||
- git submodule update --init libs/numeric/conversion
|
||||
- git submodule update --init libs/pool
|
||||
- git submodule update --init libs/predef
|
||||
- git submodule update --init libs/preprocessor
|
||||
- git submodule update --init libs/random
|
||||
- git submodule update --init libs/range
|
||||
- git submodule update --init libs/ratio
|
||||
- git submodule update --init libs/rational
|
||||
- git submodule update --init libs/serialization
|
||||
- git submodule update --init libs/thread
|
||||
- git submodule update --init libs/tokenizer
|
||||
- git submodule update --init libs/tuple
|
||||
- git submodule update --init libs/type_index
|
||||
- git submodule update --init libs/typeof
|
||||
- git submodule update --init libs/unordered
|
||||
- rm -rf libs\beast
|
||||
- MKDIR libs\beast
|
||||
- XCOPY /s /e /q %APPVEYOR_BUILD_FOLDER% libs\beast\
|
||||
- bash -c '$APPVEYOR_BUILD_FOLDER/tools/get-boost.sh $APPVEYOR_REPO_BRANCH $APPVEYOR_BUILD_FOLDER'
|
||||
- CD boost-root
|
||||
- CMD /c bootstrap
|
||||
- b2 headers
|
||||
|
||||
build: off
|
||||
|
||||
test_script:
|
||||
- if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD%
|
||||
- if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD%
|
||||
- b2 --debug-configuration variant=release %CXXSTD% %ADDRMD% toolset=%TOOLSET% libs/beast/example
|
||||
- b2 --debug-configuration variant=release %CXXSTD% %ADDRMD% toolset=%TOOLSET% --verbose-test libs/beast/test//run-fat-tests
|
||||
- b2 --debug-configuration variant=release cxxstd=14 address-model=64 toolset=msvc-14.0 libs/beast/example -j3
|
||||
- b2 --debug-configuration variant=release cxxstd=14 address-model=64 toolset=msvc-14.0 --verbose-test libs/beast/test//run-fat-tests -j3
|
||||
- b2 --debug-configuration variant=release cxxstd=17 define="BOOST_BEAST_USE_STD_STRING_VIEW" address-model=64 toolset=msvc-14.1 libs/beast/example -j3
|
||||
- b2 --debug-configuration variant=release cxxstd=17 define="BOOST_BEAST_USE_STD_STRING_VIEW" address-model=64 toolset=msvc-14.1 --verbose-test libs/beast/test//run-fat-tests -j3
|
||||
|
||||
cache:
|
||||
- c:\tools\vcpkg\installed\
|
||||
|
88
tools/get-boost.sh
Executable file
88
tools/get-boost.sh
Executable file
@ -0,0 +1,88 @@
|
||||
#! /bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
build_dir=$2
|
||||
|
||||
branch="master"
|
||||
if [ "$1" != "master" ]; then
|
||||
branch="develop"
|
||||
fi
|
||||
|
||||
git clone -b $branch --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
cd boost-root
|
||||
|
||||
# Use a reasonably large depth to prevent intermittent update failures due to
|
||||
# commits being on a submodule's master before the superproject is updated.
|
||||
git submodule update --init --depth 20 --jobs 4 \
|
||||
libs/array \
|
||||
libs/headers \
|
||||
tools/build \
|
||||
tools/boost_install \
|
||||
tools/boostdep \
|
||||
libs/align \
|
||||
libs/asio \
|
||||
libs/assert \
|
||||
libs/config \
|
||||
libs/core \
|
||||
libs/endian \
|
||||
libs/filesystem \
|
||||
libs/intrusive \
|
||||
libs/locale \
|
||||
libs/optional \
|
||||
libs/smart_ptr \
|
||||
libs/static_assert \
|
||||
libs/system \
|
||||
libs/throw_exception \
|
||||
libs/type_traits \
|
||||
libs/utility \
|
||||
libs/winapi \
|
||||
libs/algorithm \
|
||||
libs/array \
|
||||
libs/atomic \
|
||||
libs/bind \
|
||||
libs/chrono \
|
||||
libs/concept_check \
|
||||
libs/container \
|
||||
libs/container_hash \
|
||||
libs/context \
|
||||
libs/conversion \
|
||||
libs/coroutine \
|
||||
libs/date_time \
|
||||
libs/detail \
|
||||
libs/exception \
|
||||
libs/function \
|
||||
libs/function_types \
|
||||
libs/functional \
|
||||
libs/fusion \
|
||||
libs/integer \
|
||||
libs/io \
|
||||
libs/iterator \
|
||||
libs/lambda \
|
||||
libs/lexical_cast \
|
||||
libs/logic \
|
||||
libs/math \
|
||||
libs/move \
|
||||
libs/mp11 \
|
||||
libs/mpl \
|
||||
libs/numeric/conversion \
|
||||
libs/pool \
|
||||
libs/predef \
|
||||
libs/preprocessor \
|
||||
libs/random \
|
||||
libs/range \
|
||||
libs/ratio \
|
||||
libs/rational \
|
||||
libs/thread \
|
||||
libs/tuple \
|
||||
libs/type_index \
|
||||
libs/typeof \
|
||||
libs/unordered
|
||||
|
||||
echo Submodule update complete
|
||||
|
||||
echo "BUILD_DIR: $build_dir"
|
||||
|
||||
rm -rf libs/beast
|
||||
mkdir libs/beast
|
||||
cp -r $build_dir libs/
|
Reference in New Issue
Block a user