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++
|
# Default clang++ with libc++
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang++-libc++
|
compiler: clang++-libc++
|
||||||
script: b2 -j3 libs/beast/test toolset=clang cxxstd=11 cxxflags=-stdlib=libc++ linkflags=-stdlib=libc++
|
env:
|
||||||
#script: b2 -j3 libs/beast/test toolset=clang cxxstd=11 cxxflags=-stdlib=libc++ linkflags="-stdlib=libc++ -lc++abi"
|
- VARIANT=debug
|
||||||
|
- TOOLSET=clang
|
||||||
|
- COMPILER=clang++-libc++
|
||||||
|
- CXXSTD=11
|
||||||
|
- CXX_FLAGS="<cxxflags>-stdlib=libc++ <linkflags>-stdlib=libc++"
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
@ -58,7 +62,11 @@ matrix:
|
|||||||
# Default g++
|
# Default g++
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: g++
|
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
|
# GCC 8, C++17, libstdc++, release
|
||||||
- os: linux
|
- os: linux
|
||||||
@ -114,7 +122,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.8
|
- llvm-toolchain-precise-3.8
|
||||||
- *base_sources
|
- *base_sources
|
||||||
|
|
||||||
# OSX Clang, C++14, libc++, debug,
|
# OSX Clang, C++14, libc++, debug,
|
||||||
# - if: branch != master
|
# - if: branch != master
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang++
|
compiler: clang++
|
||||||
@ -124,91 +132,19 @@ matrix:
|
|||||||
- COMPILER=clang++
|
- COMPILER=clang++
|
||||||
- CXXSTD=14
|
- CXXSTD=14
|
||||||
before_install:
|
before_install:
|
||||||
- brew install openssl
|
|
||||||
- export OPENSSL_ROOT=$(brew --prefix openssl)
|
- export OPENSSL_ROOT=$(brew --prefix openssl)
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- export BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
|
|
||||||
- cd ..
|
- 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
|
- cd boost-root
|
||||||
- export BOOST_ROOT="`pwd`"
|
- export PATH=$PATH:"`pwd`"
|
||||||
- export PATH="`pwd`":$PATH
|
- export BOOST_ROOT=$(pwd)
|
||||||
- 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
|
|
||||||
- ./bootstrap.sh
|
- ./bootstrap.sh
|
||||||
|
- cp libs/beast/tools/user-config.jam ~/user-config.jam
|
||||||
|
- |-
|
||||||
|
echo "using $TOOLSET : : $COMPILER : $CXX_FLAGS ;" >> ~/user-config.jam
|
||||||
script:
|
script:
|
||||||
- |-
|
|
||||||
cp libs/beast/tools/user-config.jam ~/user-config.jam
|
|
||||||
- |-
|
|
||||||
echo "using $TOOLSET : : $COMPILER ;" >> ~/user-config.jam
|
|
||||||
- cd ../boost-root
|
- cd ../boost-root
|
||||||
- libs/beast/tools/retry.sh libs/beast/tools/build-and-test.sh
|
- libs/beast/tools/retry.sh libs/beast/tools/build-and-test.sh
|
||||||
|
|
||||||
|
91
appveyor.yml
91
appveyor.yml
@ -15,30 +15,21 @@ configuration:
|
|||||||
#- Debug
|
#- Debug
|
||||||
- Release
|
- Release
|
||||||
|
|
||||||
image:
|
|
||||||
- Visual Studio 2017
|
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
OPENSSL_ROOT: C:\tools\vcpkg\installed\x64-windows
|
OPENSSL_ROOT: C:\tools\vcpkg\installed\x64-windows
|
||||||
matrix:
|
matrix:
|
||||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||||
TOOLSET: msvc-14.0
|
TOOLSET: msvc-14.0
|
||||||
ADDRMD: 64
|
|
||||||
CXXSTD: 11
|
|
||||||
|
|
||||||
# VFALCO Appveyor has a 1 hour time limit, and
|
# VFALCO Appveyor has a 1 hour time limit, and
|
||||||
# I already test this configuration locally.
|
# I already test this configuration locally.
|
||||||
#
|
#
|
||||||
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||||
# TOOLSET: msvc-14.1
|
# TOOLSET: msvc-14.1
|
||||||
# CXXSTD: 11
|
|
||||||
# ADDRMD: 64
|
|
||||||
|
|
||||||
# This configuration is not available yet
|
# This configuration is not available yet
|
||||||
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
||||||
# TOOLSET: msvc-14.2
|
# TOOLSET: msvc-14.2
|
||||||
# CXXSTD: 11
|
|
||||||
# ADDRMD: 64
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- SET BOOST_BRANCH=develop
|
- SET BOOST_BRANCH=develop
|
||||||
@ -46,86 +37,18 @@ install:
|
|||||||
- vcpkg install openssl --triplet x64-windows
|
- vcpkg install openssl --triplet x64-windows
|
||||||
- ps: cp tools\user-config.jam ~\user-config.jam
|
- ps: cp tools\user-config.jam ~\user-config.jam
|
||||||
- CD ..
|
- CD ..
|
||||||
- git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
- bash -c '$APPVEYOR_BUILD_FOLDER/tools/get-boost.sh $APPVEYOR_REPO_BRANCH $APPVEYOR_BUILD_FOLDER'
|
||||||
- cd 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\
|
|
||||||
- CMD /c bootstrap
|
- CMD /c bootstrap
|
||||||
- b2 headers
|
- b2 headers
|
||||||
|
|
||||||
build: off
|
build: off
|
||||||
|
|
||||||
test_script:
|
test_script:
|
||||||
- if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD%
|
- b2 --debug-configuration variant=release cxxstd=14 address-model=64 toolset=msvc-14.0 libs/beast/example -j3
|
||||||
- if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD%
|
- 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% %ADDRMD% toolset=%TOOLSET% libs/beast/example
|
- 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% %ADDRMD% toolset=%TOOLSET% --verbose-test libs/beast/test//run-fat-tests
|
- 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:
|
cache:
|
||||||
- c:\tools\vcpkg\installed\
|
- 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