diff --git a/.drone.star b/.drone.star index 8be42452..d8db129d 100644 --- a/.drone.star +++ b/.drone.star @@ -19,7 +19,10 @@ def main(ctx): linux_cxx("Default g++", "g++", packages=" ".join(addon_base["apt"]["packages"]), image="ubuntu:16.04", buildtype="boost", environment={ "VARIANT": "release", "TOOLSET": "gcc", "COMPILER": "g++", "CXXSTD": "11" }), linux_cxx("GCC 8, C++17, libstdc++, release", "g++-8", packages=" ".join(addon_base["apt"]["packages"]) + " g++-8", image="ubuntu:16.04", buildtype="boost", environment={ "VARIANT": "release", "TOOLSET": "gcc", "COMPILER": "g++-8", "CXXSTD" : "17" }), linux_cxx("Clang 3.8, UBasan", "clang++-3.8", packages=" ".join(addon_base["apt"]["packages"]) + " clang-3.8 libssl-dev", llvm_os="precise", llvm_ver="3.8", image="ubuntu:16.04", buildtype="boost", environment={"VARIANT": "beast_ubasan", "TOOLSET": "clang", "COMPILER": "clang++-3.8", "CXXSTD": "11", "UBSAN_OPTIONS": 'print_stacktrace=1', "DRONE_BEFORE_INSTALL": "UBasan" }), - linux_cxx("docs", "", packages="docbook docbook-xml docbook-xsl xsltproc libsaxonhe-java default-jre-headless flex libfl-dev bison unzip", image="ubuntu:16.04", buildtype="docs", environment={"COMMENT": "docs"}) + linux_cxx("docs", "", packages="docbook docbook-xml docbook-xsl xsltproc libsaxonhe-java default-jre-headless flex libfl-dev bison unzip", image="ubuntu:16.04", buildtype="docs", environment={"COMMENT": "docs"}), + windows_cxx("msvc-14.1", "", image="cppalliance/dronevs2017", buildtype="boost", environment={ "VARIANT": "release", "TOOLSET": "msvc-14.1", "CXXSTD": "17", "DEFINE" : "BOOST_BEAST_USE_STD_STRING_VIEW", "ADDRESS_MODEL": "64"}), + windows_cxx("msvc-14.2", "", image="cppalliance/dronevs2019", buildtype="boost", environment={ "VARIANT": "release", "TOOLSET": "msvc-14.2", "CXXSTD": "17", "DEFINE" : "BOOST_BEAST_USE_STD_STRING_VIEW", "ADDRESS_MODEL": "64"}), + ] # Generate pipeline for Linux platform compilers. @@ -75,7 +78,7 @@ def linux_cxx(name, cxx, cxxflags="", packages="", llvm_os="", llvm_ver="", arch ] } -def windows_cxx(name, cxx="g++", cxxflags="", packages="", llvm_os="", llvm_ver="", arch="amd64", image="ubuntu:16.04", buildtype="boost", environment={}, privileged=False): +def windows_cxx(name, cxx="", cxxflags="", packages="", llvm_os="", llvm_ver="", arch="amd64", image="cppalliance/dronevs2019", buildtype="boost", environment={}, privileged=False): environment_global = { "CXX": cxx, "CXXFLAGS": cxxflags, @@ -104,6 +107,7 @@ def windows_cxx(name, cxx="g++", cxxflags="", packages="", llvm_os="", llvm_ver= }, # Create env vars per generation arguments. "environment": environment_current, + "clone": { "depth": 5 }, "steps": [ { "name": "Everything", @@ -112,10 +116,10 @@ def windows_cxx(name, cxx="g++", cxxflags="", packages="", llvm_os="", llvm_ver= "commands": [ "echo '==================================> SETUP'", "echo '==================================> PACKAGES'", - "bash.exe ./.drone/windows-msvc-install.sh", + '.drone/windows-msvc-install.bat', "echo '==================================> INSTALL AND COMPILE'", - "bash.exe ./.drone/%s-script.sh" % buildtype, + '.drone/%s-script.bat' % buildtype, ] } ] diff --git a/.drone/boost-script.bat b/.drone/boost-script.bat new file mode 100755 index 00000000..d4519cb5 --- /dev/null +++ b/.drone/boost-script.bat @@ -0,0 +1,28 @@ + +@ECHO ON +setlocal enabledelayedexpansion + +echo "============> INSTALL" + +SET DRONE_BUILD_DIR=%CD: =% +choco install --no-progress -y openssl --x64 --version 1.1.1.1000 +mklink /D "C:\OpenSSL" "C:\Program Files\OpenSSL-Win64" +SET OPENSSL_ROOT=C:\OpenSSL +SET BOOST_BRANCH=develop +IF "%DRONE_BRANCH%" == "master" SET BOOST_BRANCH=master +cp tools\user-config.jam %USERPROFILE%\user-config.jam +cd .. +SET GET_BOOST=%DRONE_BUILD_DIR%\tools\get-boost.sh +bash -c "$GET_BOOST $DRONE_BRANCH $DRONE_BUILD_DIR" +cd boost-root +call bootstrap.bat +b2 headers + +echo "============> SCRIPT" + +echo "Running libs/beast/example" +b2 --debug-configuration variant=%VARIANT% cxxstd=%CXXSTD% define=%DEFINE% address-model=%ADDRESS_MODEL% toolset=%TOOLSET% libs/beast/example -j3 +echo "Running run-fat-tests" +b2 --debug-configuration variant=%VARIANT% cxxstd=%CXXSTD% define=%DEFINE% address-model=%ADDRESS_MODEL% toolset=%TOOLSET% --verbose-test libs/beast/test//run-fat-tests -j3 + +echo "============> COMPLETED" diff --git a/.drone/windows-msvc-install.bat b/.drone/windows-msvc-install.bat new file mode 100755 index 00000000..42cd95fa --- /dev/null +++ b/.drone/windows-msvc-install.bat @@ -0,0 +1,2 @@ + +true diff --git a/CHANGELOG.md b/CHANGELOG.md index c37c7a84..7c1f2247 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +* Move Windows CI to Drone. + +-------------------------------------------------------------------------------- + Version 308: * Fix compiler warning in WebSSocket async shutdown. diff --git a/README.md b/README.md index 578e1b5d..0a64017b 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@ # HTTP and WebSocket built on Boost.Asio in C++11 -Branch | Linux | Windows | Coverage | Documentation | Matrix | -----------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------| -[master](https://github.com/boostorg/beast/tree/master) | [![Build Status](https://drone.cpp.al/api/badges/boostorg/beast/status.svg?ref=refs/heads/master)](https://drone.cpp.al/boostorg/beast) | [![Build status](https://ci.appveyor.com/api/projects/status/2nh66khjjhtgasvo/branch/master?svg=true)](https://ci.appveyor.com/project/vinniefalco/beast/branch/master) | [![codecov](https://img.shields.io/codecov/c/github/boostorg/beast/master.svg)](https://codecov.io/gh/boostorg/beast/branch/master) | [![Documentation](https://img.shields.io/badge/documentation-master-brightgreen.svg)](http://www.boost.org/doc/libs/master/libs/beast/doc/html/index.html) | [![Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/beast.html) | -[develop](https://github.com/boostorg/beast/tree/develop) | [![Build Status](https://drone.cpp.al/api/badges/boostorg/beast/status.svg?ref=refs/heads/develop)](https://drone.cpp.al/boostorg/beast) | [![Build status](https://ci.appveyor.com/api/projects/status/2nh66khjjhtgasvo/branch/develop?svg=true)](https://ci.appveyor.com/project/vinniefalco/beast/branch/develop) | [![codecov](https://img.shields.io/codecov/c/github/boostorg/beast/develop.svg)](https://codecov.io/gh/boostorg/beast/branch/develop) | [![Documentation](https://img.shields.io/badge/documentation-develop-brightgreen.svg)](https://www.boost.org/doc/libs/develop/libs/beast/index.html) | [![Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](https://www.boost.org/development/tests/develop/developer/beast.html) | +Branch | Linux / Windows | Coverage | Documentation | Matrix | +----------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------| +[master](https://github.com/boostorg/beast/tree/master) | [![Build Status](https://drone.cpp.al/api/badges/boostorg/beast/status.svg?ref=refs/heads/master)](https://drone.cpp.al/boostorg/beast) | [![codecov](https://img.shields.io/codecov/c/github/boostorg/beast/master.svg)](https://codecov.io/gh/boostorg/beast/branch/master) | [![Documentation](https://img.shields.io/badge/documentation-master-brightgreen.svg)](http://www.boost.org/doc/libs/master/libs/beast/doc/html/index.html) | [![Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/beast.html) | +[develop](https://github.com/boostorg/beast/tree/develop) | [![Build Status](https://drone.cpp.al/api/badges/boostorg/beast/status.svg?ref=refs/heads/develop)](https://drone.cpp.al/boostorg/beast) | [![codecov](https://img.shields.io/codecov/c/github/boostorg/beast/develop.svg)](https://codecov.io/gh/boostorg/beast/branch/develop) | [![Documentation](https://img.shields.io/badge/documentation-develop-brightgreen.svg)](https://www.boost.org/doc/libs/develop/libs/beast/index.html) | [![Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](https://www.boost.org/development/tests/develop/developer/beast.html) | ## Contents