From 0e480c64680eeab0bb45c35807cab1e40e97e718 Mon Sep 17 00:00:00 2001 From: sdarwin Date: Tue, 23 Nov 2021 17:38:37 -0600 Subject: [PATCH 1/4] update GHA and Drone --- .drone.star | 188 ++++++-------------------- .drone/README.md | 3 - .drone/boost-script.bat | 18 --- .drone/boost-script.sh | 34 ----- .drone/codecov-script.sh | 35 ----- .drone/coverity-script.sh | 35 ----- .drone/dockers/dronevs2017/Dockerfile | 70 ---------- .drone/dockers/dronevs2019/Dockerfile | 73 ---------- .drone/docs-script.sh | 39 ------ .drone/drone.bat | 32 +++++ .drone/drone.sh | 80 +++++++++++ .drone/intel-script.sh | 39 ------ .drone/linux-cxx-install.sh | 40 ------ .drone/valgrind-script.sh | 25 ---- .drone/windows-msvc-install.bat | 7 - .github/workflows/ci.yml | 4 + 16 files changed, 154 insertions(+), 568 deletions(-) delete mode 100644 .drone/README.md delete mode 100755 .drone/boost-script.bat delete mode 100755 .drone/boost-script.sh delete mode 100755 .drone/codecov-script.sh delete mode 100755 .drone/coverity-script.sh delete mode 100644 .drone/dockers/dronevs2017/Dockerfile delete mode 100644 .drone/dockers/dronevs2019/Dockerfile delete mode 100755 .drone/docs-script.sh create mode 100755 .drone/drone.bat create mode 100755 .drone/drone.sh delete mode 100755 .drone/intel-script.sh delete mode 100755 .drone/linux-cxx-install.sh delete mode 100755 .drone/valgrind-script.sh delete mode 100755 .drone/windows-msvc-install.bat diff --git a/.drone.star b/.drone.star index 4316ecd..6568400 100644 --- a/.drone.star +++ b/.drone.star @@ -4,160 +4,48 @@ # # Copyright Rene Rivera 2020. -# Configuration for https://cloud.drone.io/. - # For Drone CI we use the Starlark scripting language to reduce duplication. # As the yaml syntax for Drone CI is rather limited. +# +# +globalenv={'B2_CI_VERSION': '1', 'B2_VARIANT': 'release'} +linuxglobalimage="cppalliance/droneubuntu1804:1" +windowsglobalimage="cppalliance/dronevs2019" def main(ctx): - addon_clang_38 = { "apt": { "packages": [ "clang-3.8"] } } - addon_clang_39 = { "apt": { "packages": [ "clang-3.9"] } } - addon_clang_4 = { "apt": { "packages": [ "clang-4.0", "libstdc++-6-dev" ] } } - addon_clang_5 = { "apt": { "packages": [ "clang-5.0", "libstdc++-7-dev" ] } } - addon_clang_6 = { "apt": { "packages": [ "clang-6.0", "libc6-dbg", "libstdc++-8-dev" ] } } - addon_clang_7 = { "apt": { "packages": [ "clang-7", "libstdc++-8-dev" ] } } - addon_clang_8 = { "apt": { "packages": [ "clang-8", "libstdc++-8-dev" ] } } - addon_clang_9 = { "apt": { "packages": [ "clang-9", "libstdc++-9-dev" ] } } - addon_clang_10 = { "apt": { "packages": [ "clang-10", "libstdc++-9-dev" ] } } - addon_clang_11 = { "apt": { "packages": [ "clang-11", "libstdc++-9-dev" ] } } - - addon_gcc_44 = { "apt": { "packages": [ "g++-4.4" ] } } - addon_gcc_46 = { "apt": { "packages": [ "g++-4.6" ] } } - addon_gcc_47 = { "apt": { "packages": [ "g++-4.7" ] } } - addon_gcc_48 = { "apt": { "packages": [ "g++-4.8" ] } } - addon_gcc_49 = { "apt": { "packages": [ "g++-4.9" ] } } - addon_gcc_5 = { "apt": { "packages": [ "g++-5" ] } } - addon_gcc_6 = { "apt": { "packages": [ "g++-6" ] } } - addon_gcc_7 = { "apt": { "packages": [ "g++-7" ] } } - addon_gcc_8 = { "apt": { "packages": [ "g++-8" ] } } - addon_gcc_9 = { "apt": { "packages": [ "g++-9" ] } } - addon_gcc_10 = { "apt": { "packages": [ "g++-10" ] } } - return [ - windows_cxx("msvc-14.0", "", image="cppalliance/dronevs2015", buildtype="boost", environment={"B2_TOOLSET": "msvc-14.0", "B2_CXXSTD": "11,14"}), - windows_cxx("msvc-14.1", "", image="cppalliance/dronevs2017", buildtype="boost", environment={"B2_TOOLSET": "msvc-14.1", "B2_CXXSTD": "11,14,17"}), - windows_cxx("msvc-14.2", "", image="cppalliance/dronevs2019", buildtype="boost", environment={"B2_TOOLSET": "msvc-14.2", "B2_CXXSTD": "17,latest"}), - linux_cxx("Clang 3.8", "clang++-3.8", packages=" ".join(addon_clang_38["apt"]["packages"]), llvm_os="trusty", llvm_ver="3.8", image="ubuntu:14.04", buildtype="boost", environment={"B2_TOOLSET": "clang-3.8", "B2_CXXSTD": "11"}), - linux_cxx("Clang 4.0", "clang++-4.0", packages=" ".join(addon_clang_4["apt"]["packages"]), llvm_os="xenial", llvm_ver="4.0", buildtype="boost", environment={"B2_TOOLSET": "clang-4.0", "B2_CXXSTD": "11,14"}), - linux_cxx("Clang 5.0", "clang++-5.0", packages=" ".join(addon_clang_5["apt"]["packages"]), llvm_os="bionic", llvm_ver="5.0", buildtype="boost", environment={"B2_TOOLSET": "clang-5.0", "B2_CXXSTD": "11,14"}), - linux_cxx("Clang 6.0", "clang++-6.0", packages=" ".join(addon_clang_6["apt"]["packages"]), llvm_os="bionic", llvm_ver="6.0", buildtype="boost", environment={"B2_TOOLSET": "clang-6.0", "B2_CXXSTD": "14,17" }), - linux_cxx("Clang 7", "clang++-7", packages=" ".join(addon_clang_7["apt"]["packages"]), llvm_os="bionic", llvm_ver="7", buildtype="boost", environment={"B2_TOOLSET": "clang-7", "B2_CXXSTD": "17,2a"}), - linux_cxx("Clang 8", "clang++-8", packages=" ".join(addon_clang_8["apt"]["packages"]), llvm_os="bionic", llvm_ver="8", buildtype="boost", environment={"B2_TOOLSET": "clang-8", "B2_CXXSTD" :"17,2a"}), - linux_cxx("Clang 9", "clang++-9", packages=" ".join(addon_clang_9["apt"]["packages"]), llvm_os="bionic", llvm_ver="9", buildtype="boost", environment={"B2_TOOLSET": "clang-9", "B2_CXXSTD": "17,2a"}), - linux_cxx("Clang 10", "clang++-10", packages=" ".join(addon_clang_10["apt"]["packages"]), llvm_os="bionic", llvm_ver="10", buildtype="boost", environment={"B2_TOOLSET": "clang-10", "B2_CXXSTD": "17,2a"}), - linux_cxx("Clang 11", "clang++-11", packages=" ".join(addon_clang_11["apt"]["packages"]), llvm_os="bionic", llvm_ver="11", buildtype="boost", environment={"B2_TOOLSET": "clang-11", "B2_CXXSTD":"17,2a"}), - linux_cxx("gcc 4.8", "g++-4.8", packages=" ".join(addon_gcc_48["apt"]["packages"]), image="ubuntu:14.04", buildtype="boost", environment={"B2_TOOLSET": "gcc-4.8", "B2_CXXSTD": "11"}), - linux_cxx("gcc 4.9", "g++-4.9", packages=" ".join(addon_gcc_49["apt"]["packages"]), image="ubuntu:14.04", buildtype="boost", environment={"B2_TOOLSET": "gcc-4.9", "B2_CXXSTD": "11"}), - linux_cxx("gcc 5", "g++-5", packages=" ".join(addon_gcc_5["apt"]["packages"]), image="ubuntu:18.04", buildtype="boost", environment={"B2_TOOLSET": "gcc-5", "B2_CXXSTD": "11"}), - linux_cxx("gcc 6", "g++-6", packages=" ".join(addon_gcc_6["apt"]["packages"]), image="ubuntu:18.04", buildtype="boost", environment={"B2_TOOLSET": "gcc-6", "B2_CXXSTD": "11,14"}), - linux_cxx("gcc 7", "g++-7", packages=" ".join(addon_gcc_7["apt"]["packages"]), image="ubuntu:18.04", buildtype="boost", environment={"B2_TOOLSET": "gcc-7", "B2_CXXSTD": "14,17"}), - linux_cxx("gcc 8", "g++-8", packages=" ".join(addon_gcc_8["apt"]["packages"]), image="ubuntu:18.04", buildtype="boost", environment={"B2_TOOLSET": "gcc-8", "B2_CXXSTD": "17,2a"}), - linux_cxx("gcc 9", "g++-9", packages=" ".join(addon_gcc_9["apt"]["packages"]), image="ubuntu:18.04", buildtype="boost", environment={"B2_TOOLSET": "gcc-9", "B2_CXXSTD": "17,2a"}), - linux_cxx("gcc 10", "g++-10", packages=" ".join(addon_gcc_10["apt"]["packages"]), image="ubuntu:18.04", buildtype="boost", environment={"B2_TOOLSET": "gcc-10", "B2_CXXSTD": "17,2a"}), - linux_cxx("coverity", "", packages="", image="ubuntu:18.04", buildtype="coverity", environment={}), - linux_cxx("codecov", "", packages=" ".join(addon_gcc_8["apt"]["packages"]), image="ubuntu:18.04", buildtype="codecov", environment={"COMMENT": "codecov.io","LCOV_BRANCH_COVERAGE": 0,"B2_CXXSTD": 11,"B2_TOOLSET": "gcc-8", "B2_DEFINES": "BOOST_NO_STRESS_TEST=1"}, stepenvironment={"CODECOV_TOKEN": {"from_secret": "codecov_token"} }), - linux_cxx("valgrind", "", packages=" ".join(addon_clang_11["apt"]["packages"]) + " autotools-dev automake libc6-dbg", image="cppalliance/droneubuntu1804:1", llvm_os="bionic", llvm_ver="11", buildtype="valgrind", environment={"COMMENT": "valgrind","B2_TOOLSET": "clang-11", "B2_CXXSTD":"17", "B2_DEFINES": "BOOST_NO_STRESS_TEST=1", "B2_VARIANT": "debug", "B2_TESTFLAGS": "testing.launcher=valgrind","VALGRIND_OPTS": "--error-exitcode=1" }), - linux_cxx("asan", "clang++-11", packages=" ".join(addon_clang_11["apt"]["packages"]), image="ubuntu:18.04", llvm_os="bionic", llvm_ver="11", buildtype="boost", environment={"COMMENT": "asan", "B2_VARIANT": "debug", "B2_TOOLSET": "clang-11", "B2_CXXSTD":"17", "B2_ASAN": "1", "B2_DEFINES": "BOOST_NO_STRESS_TEST=1"}, privileged=True), - linux_cxx("ubsan", "clang++-11", packages=" ".join(addon_clang_11["apt"]["packages"]), llvm_os="bionic", llvm_ver="11", buildtype="boost", environment={"COMMENT": "asan", "B2_VARIANT": "debug", "B2_TOOLSET": "clang-11", "B2_CXXSTD":"17", "B2_UBSAN": "1", "B2_DEFINES": "BOOST_NO_STRESS_TEST=1" }), - ] - -# Generate pipeline for Linux platform compilers. -def linux_cxx(name, cxx, cxxflags="", packages="", llvm_os="", llvm_ver="", arch="amd64", image="ubuntu:18.04", buildtype="boost", environment={}, stepenvironment={}, privileged=False): - environment_global = { - "CXX": cxx, - "CXXFLAGS": cxxflags, - "PACKAGES": packages, - "LLVM_OS": llvm_os, - "LLVM_VER": llvm_ver, - "B2_CI_VERSION": 1, - # see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties - # - B2_ADDRESS_MODEL=64,32 - # - B2_THREADING=threading=multi,single - "B2_LINK" : "shared,static", - "B2_VARIANT" : "debug,release", - "B2_FLAGS" : "warnings=extra" - } - environment_current=environment_global - environment_current.update(environment) - - return { - "name": "Linux %s" % name, - "kind": "pipeline", - "type": "docker", - "trigger": { "branch": [ "master","develop", "drone*", "bugfix/*", "feature/*", "fix/*", "pr/*" ] }, - "platform": { - "os": "linux", - "arch": arch - }, - # Create env vars per generation arguments. - "environment": environment_current, - "clone": { "depth": 5 }, - "steps": [ - { - "name": "Everything", - "image": image, - "privileged" : privileged, - "environment": stepenvironment, - "commands": [ - - "echo '==================================> SETUP'", - "uname -a", - "apt-get -o Acquire::Retries=3 update && DEBIAN_FRONTEND=noninteractive apt-get -y install tzdata && apt-get -o Acquire::Retries=3 install -y sudo software-properties-common wget curl apt-transport-https git cmake apt-file sudo mercurial && rm -rf /var/lib/apt/lists/*", - - "echo '==================================> PACKAGES'", - "./.drone/linux-cxx-install.sh", - - "echo '==================================> INSTALL AND COMPILE'", - "./.drone/%s-script.sh" % buildtype, - ] - } - ] - } - -def windows_cxx(name, cxx="", cxxflags="", packages="", llvm_os="", llvm_ver="", arch="amd64", image="ubuntu:18.04", buildtype="boost", environment={}): - environment_global = { - "CXX": cxx, - "CXXFLAGS": cxxflags, - "PACKAGES": packages, - "LLVM_OS": llvm_os, - "LLVM_VER": llvm_ver, - "B2_CI_VERSION": 1, - # see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties - # - B2_ADDRESS_MODEL=64,32 - # - B2_THREADING=threading=multi,single - "B2_LINK" : "shared,static", - "B2_VARIANT" : "debug,release", - "B2_FLAGS" : "warnings=extra" - } - environment_current=environment_global - environment_current.update(environment) - - return { - "name": "Windows %s" % name, - "kind": "pipeline", - "type": "docker", - "trigger": { "branch": [ "master","develop", "drone*", "bugfix/*", "feature/*", "fix/*", "pr/*" ] }, - "platform": { - "os": "windows", - "arch": arch - }, - # Create env vars per generation arguments. - "environment": environment_current, - "clone": { "depth": 5 }, - "steps": [ - { - "name": "Everything", - "image": image, - "commands": [ - "echo '==================================> SETUP'", - "echo '==================================> PACKAGES'", - ".drone/windows-msvc-install.bat", - - "echo '==================================> INSTALL AND COMPILE'", - ".drone/%s-script.bat" % buildtype, - ] - } + linux_cxx("codecov", "g++-8", packages="g++-8", buildtype="codecov", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'codecov.io', 'B2_CXXSTD': '11', 'B2_TOOLSET': 'gcc-8', 'B2_DEFINES': 'BOOST_NO_STRESS_TEST=1', 'CODECOV_TOKEN': {'from_secret': 'codecov_token'}, 'DRONE_JOB_UUID': 'b6589fc6ab'}, globalenv=globalenv), + linux_cxx("asan", "g++-8", packages="g++-8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'asan', 'B2_VARIANT': 'debug', 'B2_TOOLSET': 'gcc-8', 'B2_CXXSTD': '11,14', 'B2_ASAN': '1', 'B2_DEFINES': 'BOOST_NO_STRESS_TEST=1', 'DRONE_EXTRA_PRIVILEGED': 'True', 'DRONE_JOB_UUID': '356a192b79'}, globalenv=globalenv, privileged=True), + linux_cxx("tsan", "g++-8", packages="g++-8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'tsan', 'B2_VARIANT': 'debug', 'B2_TOOLSET': 'gcc-8', 'B2_CXXSTD': '11,14', 'B2_TSAN': '1', 'B2_DEFINES': 'BOOST_NO_STRESS_TEST=1', 'DRONE_JOB_UUID': 'da4b9237ba'}, globalenv=globalenv), + linux_cxx("ubsan", "g++-8", packages="g++-8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'ubsan', 'B2_VARIANT': 'debug', 'B2_TOOLSET': 'gcc-8', 'B2_CXXSTD': '11,14', 'B2_UBSAN': '1', 'B2_DEFINES': 'BOOST_NO_STRESS_TEST=1', 'B2_LINKFLAGS': '-fuse-ld=gold', 'DRONE_JOB_UUID': '77de68daec'}, globalenv=globalenv), + linux_cxx("valgrind", "clang++-11", packages="clang-11 libstdc++-9-dev autotools-dev automake libc6-dbg", llvm_os="bionic", llvm_ver="11", buildtype="valgrind", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'valgrind', 'B2_TOOLSET': 'clang-11', 'B2_CXXSTD': '14', 'B2_DEFINES': 'BOOST_NO_STRESS_TEST=1', 'B2_VARIANT': 'debug', 'B2_TESTFLAGS': 'testing.launcher=valgrind', 'VALGRIND_OPTS': '--error-exitcode=1', 'DRONE_JOB_UUID': '1b64538924'}, globalenv=globalenv), + linux_cxx("gcc 4.8", "g++-4.8", packages="g++-4.8", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1604:1", environment={'B2_TOOLSET': 'gcc-4.8', 'B2_CXXSTD': '11', 'DRONE_JOB_UUID': 'ac3478d69a'}, globalenv=globalenv), + linux_cxx("gcc 4.9", "g++-4.9", packages="g++-4.9", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1604:1", environment={'B2_TOOLSET': 'gcc-4.9', 'B2_CXXSTD': '11', 'DRONE_JOB_UUID': 'c1dfd96eea'}, globalenv=globalenv), + linux_cxx("gcc 5", "g++-5", packages="g++-5", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-5', 'B2_CXXSTD': '11', 'DRONE_JOB_UUID': '902ba3cda1'}, globalenv=globalenv), + linux_cxx("gcc 6", "g++-6", packages="g++-6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-6', 'B2_CXXSTD': '11,14', 'DRONE_JOB_UUID': 'fe5dbbcea5'}, globalenv=globalenv), + linux_cxx("gcc 7", "g++-7", packages="g++-7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-7', 'B2_CXXSTD': '14,17', 'DRONE_JOB_UUID': '0ade7c2cf9'}, globalenv=globalenv), + linux_cxx("gcc 8", "g++-8", packages="g++-8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-8', 'B2_CXXSTD': '17,2a', 'DRONE_JOB_UUID': 'b1d5781111'}, globalenv=globalenv), + linux_cxx("gcc 9", "g++-9", packages="g++-9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-9', 'B2_CXXSTD': '17,2a', 'DRONE_JOB_UUID': '17ba079149'}, globalenv=globalenv), + linux_cxx("gcc 10", "g++-10", packages="g++-10", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu2004:1", environment={'B2_TOOLSET': 'gcc-10', 'B2_CXXSTD': '17,2a', 'DRONE_JOB_UUID': '17ba079159'}, globalenv=globalenv), + linux_cxx("gcc 11", "g++-11", packages="g++-11", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu2004:1", environment={'B2_TOOLSET': 'gcc-11', 'B2_CXXSTD': '17,2a', 'DRONE_JOB_UUID': '17ba079169'}, globalenv=globalenv), + linux_cxx("clang 3.8", "clang++-3.8", packages="clang-3.8", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1604:1", environment={'B2_TOOLSET': 'clang-3.8', 'B2_CXXSTD': '11', 'DRONE_JOB_UUID': '7b52009b64'}, globalenv=globalenv), + linux_cxx("clang 4.0", "clang++-4.0", packages="clang-4.0 libstdc++-6-dev", llvm_os="xenial", llvm_ver="4.0", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1604:1", environment={'B2_TOOLSET': 'clang-4.0', 'B2_CXXSTD': '11,14', 'DRONE_JOB_UUID': 'bd307a3ec3'}, globalenv=globalenv), + linux_cxx("clang 5.0", "clang++-5.0", packages="clang-5.0 libstdc++-7-dev", llvm_os="bionic", llvm_ver="5.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'clang-5.0', 'B2_CXXSTD': '11,14', 'DRONE_JOB_UUID': 'fa35e19212'}, globalenv=globalenv), + linux_cxx("clang 6.0", "clang++-6.0", packages="clang-6.0 libc6-dbg libc++-dev libstdc++-8-dev", llvm_os="bionic", llvm_ver="6.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'clang-6.0', 'B2_CXXSTD': '14,17', 'DRONE_JOB_UUID': 'f1abd67035'}, globalenv=globalenv), + linux_cxx("clang 7", "clang++-7", packages="clang-7 libc6-dbg libc++-dev libstdc++-8-dev", llvm_os="bionic", llvm_ver="7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'clang-7', 'B2_CXXSTD': '17,2a', 'DRONE_JOB_UUID': '1574bddb75'}, globalenv=globalenv), + linux_cxx("clang 8", "clang++-8", packages="clang-8 libc6-dbg libc++-dev libstdc++-8-dev", llvm_os="bionic", llvm_ver="8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'clang-8', 'B2_CXXSTD': '17,2a', 'DRONE_JOB_UUID': '0716d9708d'}, globalenv=globalenv), + linux_cxx("clang 9", "clang++-9", packages="clang-9 libc6-dbg libc++-dev libstdc++-9-dev", llvm_os="bionic", llvm_ver="9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'clang-9', 'B2_CXXSTD': '11,14,17,2a', 'DRONE_JOB_UUID': '9e6a55b6b4'}, globalenv=globalenv), + linux_cxx("clang 10", "clang++-10", packages="clang-10 libc6-dbg libc++-dev libstdc++-9-dev", llvm_os="focal", llvm_ver="10", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu2004:1", environment={'B2_TOOLSET': 'clang-10', 'B2_CXXSTD': '11,14,17,2a', 'DRONE_JOB_UUID': '9e6a55b6c4'}, globalenv=globalenv), + linux_cxx("clang 11", "clang++-11", packages="clang-11 libc6-dbg libc++-dev libstdc++-9-dev", llvm_os="focal", llvm_ver="11", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu2004:1", environment={'B2_TOOLSET': 'clang-11', 'B2_CXXSTD': '11,14,17,2a', 'DRONE_JOB_UUID': '9e6a55b6b4'}, globalenv=globalenv), + linux_cxx("clang 12", "clang++-12", packages="clang-12 libc6-dbg libc++-dev libstdc++-9-dev", llvm_os="focal", llvm_ver="12", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu2004:1", environment={'B2_TOOLSET': 'clang-12', 'B2_CXXSTD': '11,14,17,20', 'DRONE_JOB_UUID': '9e6a55b6b5'}, globalenv=globalenv), + linux_cxx("clang 6.0 libc++", "clang++-6.0", packages="clang-6.0 libc6-dbg libc++-dev libc++abi-dev libstdc++-8-dev", llvm_os="bionic", llvm_ver="6.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'clang-6.0', 'B2_CXXSTD': '11,14', 'B2_STDLIB': 'libc++', 'DRONE_JOB_UUID': 'b3f0c7f6bb'}, globalenv=globalenv), + osx_cxx("clang", "g++", packages="", buildtype="boost", buildscript="drone", environment={'B2_TOOLSET': 'clang', 'B2_CXXSTD': '11,17', 'DRONE_JOB_UUID': '91032ad7bb'}, globalenv=globalenv), + linux_cxx("coverity", "g++", packages="", buildtype="coverity", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'Coverity Scan', 'B2_TOOLSET': 'clang', 'DRONE_JOB_UUID': '472b07b9fc'}, globalenv=globalenv), + windows_cxx("msvc-14.0", "", image="cppalliance/dronevs2015", buildtype="boost", buildscript="drone", environment={"B2_TOOLSET": "msvc-14.0", "B2_CXXSTD": "11,14"},globalenv=globalenv), + windows_cxx("msvc-14.1", "", image="cppalliance/dronevs2017", buildtype="boost", buildscript="drone", environment={"B2_TOOLSET": "msvc-14.1", "B2_CXXSTD": "11,14,17"},globalenv=globalenv), + windows_cxx("msvc-14.2", "", image="cppalliance/dronevs2019", buildtype="boost", buildscript="drone", environment={"B2_TOOLSET": "msvc-14.2", "B2_CXXSTD": "14,17,latest"},globalenv=globalenv), + windows_cxx("msvc-14.3", "", image="cppalliance/dronevs2022:1", buildtype="boost", buildscript="drone", environment={"B2_TOOLSET": "msvc-14.3", "B2_CXXSTD": "17,20"},globalenv=globalenv), ] - } - +# from https://github.com/boostorg/boost-ci +load("@boost_ci//ci/drone/:functions.star", "linux_cxx","windows_cxx","osx_cxx","freebsd_cxx") diff --git a/.drone/README.md b/.drone/README.md deleted file mode 100644 index de76c5f..0000000 --- a/.drone/README.md +++ /dev/null @@ -1,3 +0,0 @@ - -.drone.star and other drone scripts originally based on https://github.com/bfgroup/ci_playground - diff --git a/.drone/boost-script.bat b/.drone/boost-script.bat deleted file mode 100755 index beae113..0000000 --- a/.drone/boost-script.bat +++ /dev/null @@ -1,18 +0,0 @@ - -echo '==================================> INSTALL' - -git clone https://github.com/boostorg/boost-ci.git boost-ci-cloned --depth 1 -cp -prf boost-ci-cloned/ci . -rm -rf boost-ci-cloned -REM source ci/travis/install.sh -REM The contents of install.sh below: - -for /F %%i in ("%DRONE_REPO%") do @set SELF=%%~nxi -SET BOOST_CI_TARGET_BRANCH=%DRONE_COMMIT_BRANCH% -SET BOOST_CI_SRC_FOLDER=%cd% - -call ci\common_install.bat - -echo '==================================> COMPILE' - -call %BOOST_ROOT%\libs\%SELF%\ci\build.bat diff --git a/.drone/boost-script.sh b/.drone/boost-script.sh deleted file mode 100755 index 74a0003..0000000 --- a/.drone/boost-script.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -set -ex - -echo '==================================> BEFORE_INSTALL' - -if [ "$DRONE_BEFORE_INSTALL" = "gcc11" ]; then - wget http://kayari.org/gcc-latest/gcc-latest.deb - sudo dpkg -i gcc-latest.deb - export PATH=/opt/gcc-latest/bin:$PATH - export LD_RUN_PATH=/opt/gcc-latest/lib64 -fi - -echo '==================================> INSTALL' - -git clone https://github.com/boostorg/boost-ci.git boost-ci-cloned --depth 1 -cp -prf boost-ci-cloned/ci . -rm -rf boost-ci-cloned -# source ci/travis/install.sh -# The contents of install.sh below: - -if [ "$DRONE_STAGE_OS" = "darwin" ]; then - unset -f cd -fi - -export SELF=`basename $DRONE_REPO` -export BOOST_CI_TARGET_BRANCH="$DRONE_COMMIT_BRANCH" -export BOOST_CI_SRC_FOLDER=$(pwd) - -. ./ci/common_install.sh - -echo '==================================> COMPILE' - -$BOOST_ROOT/libs/$SELF/ci/travis/build.sh diff --git a/.drone/codecov-script.sh b/.drone/codecov-script.sh deleted file mode 100755 index 1d749e0..0000000 --- a/.drone/codecov-script.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -set -ex -export TRAVIS_BUILD_DIR=$(pwd) -export TRAVIS_BRANCH=$DRONE_BRANCH -export VCS_COMMIT_ID=$DRONE_COMMIT -export GIT_COMMIT=$DRONE_COMMIT - -echo '==================================> BEFORE_INSTALL' - -echo '==================================> INSTALL' - -git clone https://github.com/boostorg/boost-ci.git boost-ci-cloned --depth 1 -cp -prf boost-ci-cloned/ci . -rm -rf boost-ci-cloned -# source ci/travis/install.sh -# The contents of install.sh below: - -export SELF=`basename $DRONE_REPO` -export BOOST_CI_TARGET_BRANCH="$DRONE_COMMIT_BRANCH" -export BOOST_CI_SRC_FOLDER=$(pwd) -echo "Before common_install.sh" -echo "SELF IS $SELF and BOOST_ROOT is $BOOST_ROOT X" -pwd - -. ./ci/common_install.sh - -echo "After common_install.sh" -echo "SELF IS $SELF and BOOST_ROOT is $BOOST_ROOT X" -pwd - -echo '==================================> COMPILE' - -cd $BOOST_ROOT/libs/$SELF -ci/travis/codecov.sh diff --git a/.drone/coverity-script.sh b/.drone/coverity-script.sh deleted file mode 100755 index 3ddc01b..0000000 --- a/.drone/coverity-script.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -set -ex - -echo '==================================> BEFORE_INSTALL' - -echo '==================================> INSTALL' - -git clone https://github.com/boostorg/boost-ci.git boost-ci-cloned --depth 1 -cp -prf boost-ci-cloned/ci . -rm -rf boost-ci-cloned -# source ci/travis/install.sh -# The contents of install.sh below: - -if [ "$DRONE_STAGE_OS" == "darwin" ]; then - unset -f cd -fi - -export SELF=`basename $DRONE_REPO` -export BOOST_CI_TARGET_BRANCH="$DRONE_COMMIT_BRANCH" -export BOOST_CI_SRC_FOLDER=$(pwd) - -. ./ci/common_install.sh - -echo '==================================> COMPILE' - -echo "Checking if coverity will be run" -if [ -n "${COVERITY_SCAN_NOTIFICATION_EMAIL}" -a \( "$DRONE_BRANCH" = "develop" -o "$DRONE_BRANCH" = "master" \) -a "$DRONE_BUILD_EVENT" = "push" ] ; then - echo "Running coverity" - export COMMENT="Coverity Scan" - export B2_TOOLSET=clang - - cd $BOOST_ROOT/libs/$SELF - ci/travis/coverity.sh -fi diff --git a/.drone/dockers/dronevs2017/Dockerfile b/.drone/dockers/dronevs2017/Dockerfile deleted file mode 100644 index 7a54e58..0000000 --- a/.drone/dockers/dronevs2017/Dockerfile +++ /dev/null @@ -1,70 +0,0 @@ -# escape=` -# Use the latest Windows Server Core image with .NET Framework 4.8. -FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 -# FROM mcr.microsoft.com/windows/servercore:ltsc2019 -# Restore the default Windows shell for correct batch processing. -SHELL ["cmd", "/S", "/C"] - -WORKDIR C:\ -RUN powershell -Command iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')) - -# List from https://docs.travis-ci.com/user/reference/windows/ - -# move package to top, so the selected version will be installed -RUN choco install -y visualstudio2017buildtools --version 15.9.18.0 - -RUN choco install -y 7zip.install --version 19.0 -RUN choco install -y chocolatey --version 0.10.15 -RUN choco install -y chocolatey-core.extension --version 1.3.5.1 -RUN choco install -y chocolatey-dotnetfx.extension --version 1.0.1 -RUN choco install -y chocolatey-fastanswers.extension --version 0.0.2 -RUN choco install -y chocolatey-visualstudio.extension --version 1.8.1 -RUN choco install -y chocolatey-windowsupdate.extension --version 1.0.4 - -# cmake not in path without extra flag: -RUN choco install -y cmake.install --version 3.16.2 --installargs '"ADD_CMAKE_TO_PATH=System"' - -RUN choco install -y curl --version 7.68.0 -RUN choco install -y DotNet4.5.2 --version 4.5.2.20140902 -RUN choco install -y DotNet4.6 --version 4.6.00081.20150925 -RUN choco install -y DotNet4.6-TargetPack --version 4.6.00081.20150925 -RUN choco install -y DotNet4.6.1 --version 4.6.01055.20170308 - -# This is already the dotnet image -# RUN choco install -y dotnetfx --version 4.8.0.20190930 - -RUN choco install -y git.install --version 2.25.0 -RUN choco install -y hashdeep --version 4.4 -RUN choco install -y jq --version 1.6 -RUN choco install -y KB2919355 --version 1.0.20160915 -RUN choco install -y KB2919442 --version 1.0.20160915 -RUN choco install -y KB2999226 --version 1.0.20181019 -RUN choco install -y KB3033929 --version 1.0.5 -RUN choco install -y KB3035131 --version 1.0.3 -RUN choco install -y llvm --version 9.0.0 -RUN choco install -y microsoft-build-tools --version 15.0.26320.2 -RUN choco install -y mingw --version 8.1.0 -RUN choco install -y netfx-4.5.1-devpack --version 4.5.50932 -RUN choco install -y netfx-4.5.2-devpack --version 4.5.5165101.20180721 -RUN choco install -y netfx-4.6.1-devpack --version 4.6.01055.00 -RUN choco install -y rsync --version 5.5.0.20190204 -RUN choco install -y ruby --version 2.7.0.1 -RUN choco install -y vcredist140 --version 14.24.28127.4 -RUN choco install -y vcredist2017 --version 14.16.27033 -RUN choco install -y visualstudio-installer --version 2.0.1 -RUN choco install -y visualstudio2017-workload-netcorebuildtools --version 1.1.2 -RUN choco install -y visualstudio2017-workload-vctools --version 1.3.2 -RUN choco install -y visualstudio2017-workload-webbuildtools --version 1.3.2 -RUN choco install -y Wget --version 1.20.3.20190531 -RUN choco install -y windows-sdk-10.1 --version 10.1.18362.1 -RUN choco install -y winscp --version 5.15.9 -RUN choco install -y winscp.install --version 5.15.9 - -# wsl error. skip for now. -# RUN choco install -y wsl --version 1.0.1 - -RUN choco install -y python --version 3.8.3 -RUN mklink /D "Git" "C:\Program Files\Git" - -RUN setx path "C:\Git\usr\bin\;%path%" -ENTRYPOINT ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"] diff --git a/.drone/dockers/dronevs2019/Dockerfile b/.drone/dockers/dronevs2019/Dockerfile deleted file mode 100644 index f016156..0000000 --- a/.drone/dockers/dronevs2019/Dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -# escape=` -# Use the latest Windows Server Core image with .NET Framework 4.8. -FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 -# FROM mcr.microsoft.com/windows/servercore:ltsc2019 -# Restore the default Windows shell for correct batch processing. -SHELL ["cmd", "/S", "/C"] - -WORKDIR C:\ -RUN powershell -Command iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')) - -# List from https://docs.travis-ci.com/user/reference/windows/ - -# move package to top, so the selected version will be installed -RUN choco install -y visualstudio2017buildtools --version 15.9.18.0 - -RUN choco install -y 7zip.install --version 19.0 -RUN choco install -y chocolatey --version 0.10.15 -RUN choco install -y chocolatey-core.extension --version 1.3.5.1 -RUN choco install -y chocolatey-dotnetfx.extension --version 1.0.1 -RUN choco install -y chocolatey-fastanswers.extension --version 0.0.2 -RUN choco install -y chocolatey-visualstudio.extension --version 1.8.1 -RUN choco install -y chocolatey-windowsupdate.extension --version 1.0.4 - -# cmake not in path without extra flag: -RUN choco install -y cmake.install --version 3.16.2 --installargs '"ADD_CMAKE_TO_PATH=System"' - -RUN choco install -y curl --version 7.68.0 -RUN choco install -y DotNet4.5.2 --version 4.5.2.20140902 -RUN choco install -y DotNet4.6 --version 4.6.00081.20150925 -RUN choco install -y DotNet4.6-TargetPack --version 4.6.00081.20150925 -RUN choco install -y DotNet4.6.1 --version 4.6.01055.20170308 - -# This is already the dotnet image -# RUN choco install -y dotnetfx --version 4.8.0.20190930 - -RUN choco install -y git.install --version 2.25.0 -RUN choco install -y hashdeep --version 4.4 -RUN choco install -y jq --version 1.6 -RUN choco install -y KB2919355 --version 1.0.20160915 -RUN choco install -y KB2919442 --version 1.0.20160915 -RUN choco install -y KB2999226 --version 1.0.20181019 -RUN choco install -y KB3033929 --version 1.0.5 -RUN choco install -y KB3035131 --version 1.0.3 -RUN choco install -y llvm --version 9.0.0 -RUN choco install -y microsoft-build-tools --version 15.0.26320.2 -RUN choco install -y mingw --version 8.1.0 -RUN choco install -y netfx-4.5.1-devpack --version 4.5.50932 -RUN choco install -y netfx-4.5.2-devpack --version 4.5.5165101.20180721 -RUN choco install -y netfx-4.6.1-devpack --version 4.6.01055.00 -RUN choco install -y rsync --version 5.5.0.20190204 -RUN choco install -y ruby --version 2.7.0.1 -RUN choco install -y vcredist140 --version 14.24.28127.4 -RUN choco install -y vcredist2017 --version 14.16.27033 -RUN choco install -y visualstudio-installer --version 2.0.1 -RUN choco install -y visualstudio2017-workload-netcorebuildtools --version 1.1.2 -RUN choco install -y visualstudio2017-workload-vctools --version 1.3.2 -RUN choco install -y visualstudio2017-workload-webbuildtools --version 1.3.2 -RUN choco install -y Wget --version 1.20.3.20190531 -RUN choco install -y windows-sdk-10.1 --version 10.1.18362.1 -RUN choco install -y winscp --version 5.15.9 -RUN choco install -y winscp.install --version 5.15.9 - -# wsl error. skip for now. -# RUN choco install -y wsl --version 1.0.1 - -RUN choco install -y python --version 3.8.3 -RUN mklink /D "Git" "C:\Program Files\Git" - -# Adding visualstudio2019 -RUN choco install visualstudio2019-workload-vctools --package-parameters "--add Microsoft.VisualStudio.Component.VC.14.24.x86.x64" -y - -RUN setx path "C:\Git\usr\bin\;%path%" -ENTRYPOINT ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"] diff --git a/.drone/docs-script.sh b/.drone/docs-script.sh deleted file mode 100755 index 9d6dfce..0000000 --- a/.drone/docs-script.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -set -ex - -export BOOST_CI_SRC_FOLDER=$(pwd) - -echo '==================================> INSTALL' -pwd -cd .. -mkdir -p $HOME/cache && cd $HOME/cache -if [ ! -d doxygen ]; then git clone -b 'Release_1_8_15' --depth 1 https://github.com/doxygen/doxygen.git && echo "not-cached" ; else echo "cached" ; fi -cd doxygen -cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -cd build -sudo make install -cd ../.. -if [ ! -f saxonhe.zip ]; then wget -O saxonhe.zip https://sourceforge.net/projects/saxon/files/Saxon-HE/9.9/SaxonHE9-9-1-4J.zip/download && echo "not-cached" ; else echo "cached" ; fi -unzip -o saxonhe.zip -sudo rm /usr/share/java/Saxon-HE.jar -sudo cp saxon9he.jar /usr/share/java/Saxon-HE.jar -cd .. -BOOST_BRANCH=develop && [ "$DRONE_BRANCH" == "master" ] && BOOST_BRANCH=master || true -git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root --depth 1 -cd boost-root -export BOOST_ROOT=$(pwd) -git submodule update --init libs/context -git submodule update --init tools/boostbook -git submodule update --init tools/boostdep -git submodule update --init tools/docca -git submodule update --init tools/quickbook -rsync -av $BOOST_CI_SRC_FOLDER/ libs/zlib -python tools/boostdep/depinst/depinst.py ../tools/quickbook -./bootstrap.sh -./b2 headers - -echo '==================================> COMPILE' - -echo "using doxygen ; using boostbook ; using saxonhe ;" > tools/build/src/user-config.jam -./b2 -j3 libs/zlib/doc//boostrelease diff --git a/.drone/drone.bat b/.drone/drone.bat new file mode 100755 index 0000000..cb09587 --- /dev/null +++ b/.drone/drone.bat @@ -0,0 +1,32 @@ + +@ECHO ON +setlocal enabledelayedexpansion + +if "%DRONE_JOB_BUILDTYPE%" == "boost" ( + +echo '==================================> INSTALL' + +# git clone https://github.com/boostorg/boost-ci.git boost-ci-cloned --depth 1 +git clone -b test https://github.com/sdarwin/boost-ci.git boost-ci-cloned --depth 1 +cp -prf boost-ci-cloned/ci . +rm -rf boost-ci-cloned +REM source ci/travis/install.sh +REM The contents of install.sh below: + +for /F %%i in ("%DRONE_REPO%") do @set SELF=%%~nxi +SET BOOST_CI_TARGET_BRANCH=%DRONE_COMMIT_BRANCH% +SET BOOST_CI_SRC_FOLDER=%cd% + +call ci\common_install.bat + +echo '==================================> COMPILE' + +REM set B2_TARGETS=libs/!SELF!/test libs/!SELF!/example +set B2_TARGETS=libs/!SELF!/test +call !BOOST_ROOT!\libs\!SELF!\ci\build.bat + +) else if "%DRONE_JOB_BUILDTYPE%" == "standalone-windows" ( + +REM not used + +) diff --git a/.drone/drone.sh b/.drone/drone.sh new file mode 100755 index 0000000..ca94901 --- /dev/null +++ b/.drone/drone.sh @@ -0,0 +1,80 @@ +#!/bin/bash + +# Copyright 2020 Rene Rivera, Sam Darwin +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE.txt or copy at http://boost.org/LICENSE_1_0.txt) + +set -e + +export DRONE_BUILD_DIR=$(pwd) +export VCS_COMMIT_ID=$DRONE_COMMIT +export GIT_COMMIT=$DRONE_COMMIT +export REPO_NAME=$DRONE_REPO +export USER=$(whoami) +export CC=${CC:-gcc} +export PATH=~/.local/bin:/usr/local/bin:$PATH +export TRAVIS_BUILD_DIR=$(pwd) +export TRAVIS_BRANCH=$DRONE_BRANCH +export TRAVIS_EVENT_TYPE=$DRONE_BUILD_EVENT + +common_install () { + git clone https://github.com/boostorg/boost-ci.git boost-ci-cloned --depth 1 + [ "$(basename $REPO_NAME)" == "boost-ci" ] || cp -prf boost-ci-cloned/ci . + rm -rf boost-ci-cloned + + if [ "$TRAVIS_OS_NAME" == "osx" ]; then + unset -f cd + fi + + export BOOST_CI_TARGET_BRANCH="$TRAVIS_BRANCH" + export BOOST_CI_SRC_FOLDER=$(pwd) + + . ./ci/common_install.sh +} + +if [ "$DRONE_JOB_BUILDTYPE" == "boost" ]; then + +echo '==================================> INSTALL' + +common_install + +echo '==================================> SCRIPT' + +. $BOOST_ROOT/libs/$SELF/ci/build.sh + +elif [ "$DRONE_JOB_BUILDTYPE" == "codecov" ]; then + +echo '==================================> INSTALL' + +common_install + +echo '==================================> SCRIPT' + +cd $BOOST_ROOT/libs/$SELF +ci/travis/codecov.sh + +elif [ "$DRONE_JOB_BUILDTYPE" == "valgrind" ]; then + +echo '==================================> INSTALL' + +common_install + +echo '==================================> SCRIPT' + +cd $BOOST_ROOT/libs/$SELF +ci/travis/valgrind.sh + +elif [ "$DRONE_JOB_BUILDTYPE" == "coverity" ]; then + +echo '==================================> INSTALL' + +common_install + +echo '==================================> SCRIPT' + +if [ -n "${COVERITY_SCAN_NOTIFICATION_EMAIL}" -a \( "$TRAVIS_BRANCH" = "develop" -o "$TRAVIS_BRANCH" = "master" \) -a \( "$DRONE_BUILD_EVENT" = "push" -o "$DRONE_BUILD_EVENT" = "cron" \) ] ; then +cd $BOOST_ROOT/libs/$SELF +ci/travis/coverity.sh +fi + +fi diff --git a/.drone/intel-script.sh b/.drone/intel-script.sh deleted file mode 100755 index f0ba835..0000000 --- a/.drone/intel-script.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -set -ex - -echo '==================================> BEFORE_INSTALL' - -set -e -echo ">>>>>" -echo ">>>>> APT: REPO.." -echo ">>>>>" -sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" -wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB | sudo apt-key add - -sudo -E apt-add-repository 'deb https://apt.repos.intel.com/oneapi all main' -sudo -E apt-get update -sudo -E apt-get -o Acquire::Retries=3 -yq --no-install-suggests --no-install-recommends install intel-oneapi-icc - -echo '==================================> INSTALL' - -source /opt/intel/oneapi/compiler/latest/env/vars.sh -git clone https://github.com/boostorg/boost-ci.git boost-ci-cloned --depth 1 -cp -prf boost-ci-cloned/ci . -rm -rf boost-ci-cloned -# source ci/travis/install.sh -# The contents of install.sh below: - -if [ "$DRONE_STAGE_OS" = "darwin" ]; then - unset -f cd -fi - -export SELF=`basename $DRONE_REPO` -export BOOST_CI_TARGET_BRANCH="$DRONE_COMMIT_BRANCH" -export BOOST_CI_SRC_FOLDER=$(pwd) - -. ./ci/common_install.sh - -echo '==================================> COMPILE' - -cd $BOOST_ROOT/libs/$SELF -$BOOST_ROOT/libs/$SELF/ci/travis/build.sh diff --git a/.drone/linux-cxx-install.sh b/.drone/linux-cxx-install.sh deleted file mode 100755 index d4ca078..0000000 --- a/.drone/linux-cxx-install.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -# Usage: -# LLVM_OS: LLVM OS release to obtain clang binaries. Only needed for clang install. -# LLVM_VER: The LLVM toolset version to point the repo at. -# PACKAGES: Compiler packages to install. - -set -xe -echo ">>>>>" -echo ">>>>> APT: REPO.." -echo ">>>>>" -sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" -if test -n "${LLVM_OS}" ; then - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - - if test -n "${LLVM_VER}" ; then - sudo -E apt-add-repository "deb http://apt.llvm.org/${LLVM_OS}/ llvm-toolchain-${LLVM_OS}-${LLVM_VER} main" - else - # Snapshot (i.e. trunk) build of clang - sudo -E apt-add-repository "deb http://apt.llvm.org/${LLVM_OS}/ llvm-toolchain-${LLVM_OS} main" - fi -fi -echo ">>>>>" -echo ">>>>> APT: UPDATE.." -echo ">>>>>" -sudo -E apt-get -o Acquire::Retries=3 update -echo ">>>>>" -echo ">>>>> APT: INSTALL ${PACKAGES}.." -echo ">>>>>" -sudo -E apt-get -o Acquire::Retries=3 -yq --no-install-suggests --no-install-recommends install ${PACKAGES} - -MAJOR_VERSION=$(lsb_release -r -s | cut -c 1-2) -if [ "$MAJOR_VERSION" -lt "20" ]; then - sudo -E apt-get -o Acquire::Retries=3 -y install python python-pip -fi - -if [ "$MAJOR_VERSION" -gt "18" ]; then - sudo -E apt-get -o Acquire::Retries=3 -y install python3 python3-pip - ln -s /usr/bin/python3 /usr/bin/python - ln -s /usr/bin/pip3 /usr/bin/pip -fi diff --git a/.drone/valgrind-script.sh b/.drone/valgrind-script.sh deleted file mode 100755 index 13db40c..0000000 --- a/.drone/valgrind-script.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -set -ex - -echo '==================================> BEFORE_INSTALL' - -echo '==================================> INSTALL' - -git clone https://github.com/boostorg/boost-ci.git boost-ci-cloned --depth 1 -cp -prf boost-ci-cloned/ci . -rm -rf boost-ci-cloned -# source ci/travis/install.sh -# The contents of install.sh below: - -export SELF=`basename $DRONE_REPO` -export BOOST_CI_TARGET_BRANCH="$DRONE_COMMIT_BRANCH" -export BOOST_CI_SRC_FOLDER=$(pwd) -. ./ci/common_install.sh - -echo '==================================> COMPILE' - -cd $BOOST_ROOT/libs/$SELF -export VALGRIND_OPTS=--suppressions=$BOOST_ROOT/libs/$SELF/test/valgrind.supp -ci/travis/valgrind.sh -echo "Job completed" diff --git a/.drone/windows-msvc-install.bat b/.drone/windows-msvc-install.bat deleted file mode 100755 index 991b9a8..0000000 --- a/.drone/windows-msvc-install.bat +++ /dev/null @@ -1,7 +0,0 @@ - -REM move to Dockerfile: -REM if [ "$CXX" = "msvc-14.2" -o "$B2_TOOLSET" = "msvc-14.2" ]; then -REM choco install visualstudio2019-workload-vctools --package-parameters "--add Microsoft.VisualStudio.Component.VC.14.24.x86.x64" -y -REM fi - -true diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f1b59c7..f464f63 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -230,6 +230,10 @@ jobs: cxxstd: "14,17,latest" addrmd: 32,64 os: windows-2019 + - toolset: msvc-14.3 + cxxstd: "14,17,20" + addrmd: 32,64 + os: windows-2022 - toolset: gcc cxxstd: "11,14,17,2a" addrmd: 64 From 6d702e93197ef57385cfa5ba6b8f33df659ce895 Mon Sep 17 00:00:00 2001 From: sdarwin Date: Tue, 23 Nov 2021 17:48:07 -0600 Subject: [PATCH 2/4] Include meta directory --- meta/explicit-failures-markup.xml | 20 ++++++++++++++++++++ meta/libraries.json | 18 ++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 meta/explicit-failures-markup.xml create mode 100644 meta/libraries.json diff --git a/meta/explicit-failures-markup.xml b/meta/explicit-failures-markup.xml new file mode 100644 index 0000000..2255de4 --- /dev/null +++ b/meta/explicit-failures-markup.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + C++11 is the minimum requirement. + + + diff --git a/meta/libraries.json b/meta/libraries.json new file mode 100644 index 0000000..3b02a01 --- /dev/null +++ b/meta/libraries.json @@ -0,0 +1,18 @@ +{ + "key": "zlib", + "name": "Zlib", + "authors": [ + "Vinnie Falco", + "Emil Dotchevski" + ], + "description": "Zlib Compression", + "category": [ + "Data", + "IO" + ], + "maintainers": [ + "Vinnie Falco ", + "Emil Dotchevski " + ], + "cxxstd": "11" +} From 3b5f51267cd8f0bea7b05fd727d313c4a9a73ccf Mon Sep 17 00:00:00 2001 From: sdarwin Date: Tue, 1 Feb 2022 09:30:39 -0600 Subject: [PATCH 3/4] Add arm architecture in drone jobs --- .drone.star | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.drone.star b/.drone.star index 6568400..167c468 100644 --- a/.drone.star +++ b/.drone.star @@ -14,6 +14,8 @@ windowsglobalimage="cppalliance/dronevs2019" def main(ctx): return [ + linux_cxx("Clang 12 arm64", "clang++-12", packages="clang-12 libstdc++-9-dev", llvm_os="focal", llvm_ver="12", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu2004:multiarch", environment={'B2_TOOLSET': 'clang-12', 'B2_CXXSTD': '17,20'}, arch="arm64", globalenv=globalenv), + linux_cxx("gcc 11 arm64", "g++-11", packages="g++-11", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu2004:multiarch", environment={'B2_TOOLSET': 'gcc-11', 'B2_CXXSTD': '17,2a'}, arch="arm64", globalenv=globalenv), linux_cxx("codecov", "g++-8", packages="g++-8", buildtype="codecov", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'codecov.io', 'B2_CXXSTD': '11', 'B2_TOOLSET': 'gcc-8', 'B2_DEFINES': 'BOOST_NO_STRESS_TEST=1', 'CODECOV_TOKEN': {'from_secret': 'codecov_token'}, 'DRONE_JOB_UUID': 'b6589fc6ab'}, globalenv=globalenv), linux_cxx("asan", "g++-8", packages="g++-8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'asan', 'B2_VARIANT': 'debug', 'B2_TOOLSET': 'gcc-8', 'B2_CXXSTD': '11,14', 'B2_ASAN': '1', 'B2_DEFINES': 'BOOST_NO_STRESS_TEST=1', 'DRONE_EXTRA_PRIVILEGED': 'True', 'DRONE_JOB_UUID': '356a192b79'}, globalenv=globalenv, privileged=True), linux_cxx("tsan", "g++-8", packages="g++-8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'tsan', 'B2_VARIANT': 'debug', 'B2_TOOLSET': 'gcc-8', 'B2_CXXSTD': '11,14', 'B2_TSAN': '1', 'B2_DEFINES': 'BOOST_NO_STRESS_TEST=1', 'DRONE_JOB_UUID': 'da4b9237ba'}, globalenv=globalenv), From c051a9b8e0c4d76b141ab7a5798d1db044675738 Mon Sep 17 00:00:00 2001 From: sdarwin Date: Tue, 1 Feb 2022 09:34:43 -0600 Subject: [PATCH 4/4] Update appveyor.yml --- .appveyor.yml | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 1477923..7361f87 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,6 +1,6 @@ # Copyright 2016, 2017 Peter Dimov # Copyright 2017 - 2019 James E. King III -# Copyright 2020 Alexander Grund +# Copyright 2019 - 2021 Alexander Grund # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) @@ -22,7 +22,7 @@ version: 1.0.{build}-{branch} -shallow_clone: true +shallow_clone: false branches: only: @@ -34,6 +34,7 @@ branches: - /pr\/.*/ matrix: + fast_finish: false # Adding MAYFAIL to any matrix job allows it to fail but the build stays green: allow_failures: - MAYFAIL: true @@ -41,6 +42,7 @@ matrix: environment: global: B2_CI_VERSION: 1 + GIT_FETCH_JOBS: 4 # see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties # to use the default for a given environment, comment it out; recommend you build debug and release however: # on Windows it is important to exercise all the possibilities, especially shared vs static, however most @@ -51,16 +53,22 @@ environment: B2_VARIANT: release matrix: + - FLAVOR: Visual Studio 2022 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 + B2_CXXFLAGS: -permissive- + B2_CXXSTD: 14,17,20 + B2_TOOLSET: msvc-14.3 + - FLAVOR: Visual Studio 2019 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 B2_CXXFLAGS: -permissive- - B2_CXXSTD: 14,17,latest # 2a + B2_CXXSTD: 14,17,2a B2_TOOLSET: msvc-14.2 - FLAVOR: Visual Studio 2017 C++2a Strict APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 B2_CXXFLAGS: -permissive- - B2_CXXSTD: latest # 2a + B2_CXXSTD: 2a B2_TOOLSET: msvc-14.1 - FLAVOR: Visual Studio 2017 C++14/17 @@ -69,7 +77,8 @@ environment: B2_TOOLSET: msvc-14.1 - FLAVOR: clang-cl - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 + ADDCOMMANDS: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"' B2_ADDRESS_MODEL: 64 B2_CXXSTD: 11,14,17 B2_TOOLSET: clang-win @@ -79,7 +88,6 @@ environment: # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 # B2_TOOLSET: msvc-12.0,msvc-14.0 - # not supported # - FLAVOR: Visual Studio 2008, 2010, 2012 # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 # B2_TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0 @@ -90,7 +98,6 @@ environment: ADDPATH: C:\cygwin\bin; B2_ADDRESS_MODEL: 32 B2_CXXSTD: 11,14,1z - B2_THREADING: threadapi=pthread B2_TOOLSET: gcc - FLAVOR: cygwin (64-bit) @@ -98,28 +105,27 @@ environment: ADDPATH: C:\cygwin64\bin; B2_ADDRESS_MODEL: 64 B2_CXXSTD: 11,14,1z - B2_THREADING: threadapi=pthread B2_TOOLSET: gcc - FLAVOR: mingw32 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - ARCH: i686 B2_ADDRESS_MODEL: 32 - B2_CXXSTD: 11 - SCRIPT: ci\appveyor\mingw.bat - B2_VARIANT: debug + ADDPATH: C:\mingw\bin; + B2_CXXSTD: 11,14,17,2a + B2_TOOLSET: gcc - FLAVOR: mingw64 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - ARCH: x86_64 + ADDPATH: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin; B2_ADDRESS_MODEL: 64 - B2_CXXSTD: 11,17 - B2_DEFINES: __USE_ISOC99 - SCRIPT: ci\appveyor\mingw.bat + B2_CXXSTD: 11,14,17,2a + B2_TOOLSET: gcc install: - - git clone https://github.com/boostorg/boost-ci.git C:\boost-ci-cloned - - xcopy /s /e /q /i /y C:\boost-ci-cloned\ci .\ci + - '%ADDCOMMANDS%' + - git clone --depth 1 https://github.com/boostorg/boost-ci.git C:\boost-ci-cloned + # Copy ci folder if not testing Boost.CI + - if NOT "%APPVEYOR_PROJECT_NAME%" == "boost-ci" xcopy /s /e /q /i /y C:\boost-ci-cloned\ci .\ci - rmdir /s /q C:\boost-ci-cloned - ci\appveyor\install.bat