From 6d50d19891eeaaf76b17292f3d268890466d0f37 Mon Sep 17 00:00:00 2001 From: Emil Dotchevski Date: Thu, 19 Jan 2023 21:49:50 -0800 Subject: [PATCH] Drone, GHA update --- .drone/drone.bat | 23 ++++++++++++ .drone/drone.sh | 39 ++++++-------------- .github/workflows/ci.yml | 79 ++++++++++++++++++++++++++++------------ 3 files changed, 89 insertions(+), 52 deletions(-) create mode 100644 .drone/drone.bat diff --git a/.drone/drone.bat b/.drone/drone.bat new file mode 100644 index 0000000..66aaf78 --- /dev/null +++ b/.drone/drone.bat @@ -0,0 +1,23 @@ +@REM Copyright 2022 Peter Dimov +@REM Distributed under the Boost Software License, Version 1.0. +@REM https://www.boost.org/LICENSE_1_0.txt + +@ECHO ON + +set LIBRARY=%1 +set DRONE_BUILD_DIR=%CD% + +set BOOST_BRANCH=develop +if "%DRONE_BRANCH%" == "master" set BOOST_BRANCH=master +cd .. +git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root +cd boost-root +git submodule update --init tools/boostdep +xcopy /s /e /q %DRONE_BUILD_DIR% libs\%LIBRARY%\ +python tools/boostdep/depinst/depinst.py %LIBRARY% +cmd /c bootstrap +b2 -d0 headers + +if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD% +if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD% +b2 -j3 libs/%LIBRARY%/test toolset=%TOOLSET% %CXXSTD% %ADDRMD% variant=debug,release embed-manifest-via=linker diff --git a/.drone/drone.sh b/.drone/drone.sh index 55106c1..7172f7f 100755 --- a/.drone/drone.sh +++ b/.drone/drone.sh @@ -1,41 +1,24 @@ #!/bin/bash -# Copyright 2020 Rene Rivera, Sam Darwin +# Copyright 2022 Peter Dimov # Distributed under the Boost Software License, Version 1.0. -# (See accompanying file LICENSE.txt or copy at http://boost.org/LICENSE_1_0.txt) +# https://www.boost.org/LICENSE_1_0.txt -set -e -export TRAVIS_BUILD_DIR=$(pwd) -export DRONE_BUILD_DIR=$(pwd) -export TRAVIS_BRANCH=$DRONE_BRANCH -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 +set -ex -if [ "$DRONE_JOB_BUILDTYPE" == "boost" ]; then +DRONE_BUILD_DIR=$(pwd) -echo '==================================> INSTALL' +BOOST_BRANCH=develop +if [ "$DRONE_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi cd .. -git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root +git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root cd boost-root -git submodule update --init tools/build -git submodule update --init tools/inspect -git submodule update --init libs/config git submodule update --init tools/boostdep -cp -r $TRAVIS_BUILD_DIR/* libs/qvm -python tools/boostdep/depinst/depinst.py qvm +cp -r $DRONE_BUILD_DIR/* libs/$LIBRARY +python tools/boostdep/depinst/depinst.py $LIBRARY ./bootstrap.sh -./b2 headers -cd libs/qvm - -echo '==================================> SCRIPT' +./b2 -d0 headers echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam -../../b2 test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} - -fi - +./b2 -j3 libs/$LIBRARY/test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${ADDRMD:+address-model=$ADDRMD} ${UBSAN:+undefined-sanitizer=norecover debug-symbols=on} ${ASAN:+address-sanitizer=norecover debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c77c813..0b9ab2c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,64 +19,80 @@ jobs: include: - toolset: gcc-4.8 cxxstd: "03,11" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: g++-4.8-multilib address-model: 32,64 - toolset: gcc-5 cxxstd: "03,11,14,1z" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: g++-5-multilib address-model: 32,64 - toolset: gcc-6 cxxstd: "03,11,14,1z" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: g++-6-multilib address-model: 32,64 - toolset: gcc-7 cxxstd: "03,11,14,17" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: g++-7-multilib address-model: 32,64 - toolset: gcc-8 cxxstd: "03,11,14,17,2a" - os: ubuntu-18.04 + os: ubuntu-20.04 install: g++-8-multilib address-model: 32,64 - toolset: gcc-9 cxxstd: "03,11,14,17,2a" os: ubuntu-20.04 + install: g++-9-multilib + address-model: 32,64 - toolset: gcc-10 cxxstd: "03,11,14,17,2a" os: ubuntu-20.04 - install: g++-10 + install: g++-10-multilib + address-model: 32,64 - toolset: gcc-11 - cxxstd: "03,11,14,17,2a" + cxxstd: "03,11,14,17,20" os: ubuntu-20.04 - install: g++-11 + install: g++-11-multilib + address-model: 32,64 + - toolset: gcc-12 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-22.04 + install: g++-12-multilib + address-model: 32,64 - toolset: clang compiler: clang++-3.9 cxxstd: "03,11,14" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: clang-3.9 - toolset: clang compiler: clang++-4.0 cxxstd: "03,11,14" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: clang-4.0 - toolset: clang compiler: clang++-5.0 cxxstd: "03,11,14,1z" - os: ubuntu-18.04 + os: ubuntu-latest + container: ubuntu:18.04 install: clang-5.0 - toolset: clang compiler: clang++-6.0 cxxstd: "03,11,14,17" - os: ubuntu-18.04 + os: ubuntu-20.04 install: clang-6.0 - toolset: clang compiler: clang++-7 cxxstd: "03,11,14,17" - os: ubuntu-18.04 + os: ubuntu-20.04 install: clang-7 - toolset: clang compiler: clang++-8 @@ -92,20 +108,27 @@ jobs: compiler: clang++-10 cxxstd: "03,11,14,17,2a" os: ubuntu-20.04 - install: clang-10 - toolset: clang compiler: clang++-11 cxxstd: "03,11,14,17,2a" os: ubuntu-20.04 - install: clang-11 - toolset: clang compiler: clang++-12 - cxxstd: "03,11,14,17,2a" + cxxstd: "03,11,14,17,20" os: ubuntu-20.04 - install: clang-12 + - toolset: clang + compiler: clang++-13 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-22.04 + install: clang-13 + - toolset: clang + compiler: clang++-14 + cxxstd: "03,11,14,17,20,2b" + os: ubuntu-22.04 + install: clang-14 - toolset: clang cxxstd: "03,11,14,17,2a" - os: macos-10.15 + os: macos-11 runs-on: ${{matrix.os}} @@ -151,14 +174,22 @@ jobs: fail-fast: false matrix: include: - - toolset: msvc-14.1 - cxxstd: "03,14,17,latest" - addrmd: 32,64 - os: windows-2016 - - toolset: msvc-14.2 - cxxstd: "03,14,17,latest" + - toolset: msvc-14.0 + cxxstd: 14,latest addrmd: 32,64 os: windows-2019 + - toolset: msvc-14.2 + cxxstd: "14,17,20,latest" + addrmd: 32,64 + os: windows-2019 + - toolset: msvc-14.3 + cxxstd: "14,17,20,latest" + addrmd: 32,64 + os: windows-2022 + - toolset: clang-win + cxxstd: "14,17,latest" + addrmd: 32,64 + os: windows-2022 - toolset: gcc cxxstd: "03,11,14,17,2a" addrmd: 64