diff --git a/.drone.star b/.drone.star new file mode 100644 index 0000000000..88cc1e8f0a --- /dev/null +++ b/.drone.star @@ -0,0 +1,25 @@ +# Use, modification, and distribution are +# subject to the Boost Software License, Version 1.0. (See accompanying +# file LICENSE.txt) +# +# Copyright Rene Rivera 2020. + +# For Drone CI we use the Starlark scripting language to reduce duplication. +# As the yaml syntax for Drone CI is rather limited. +# +# +globalenv={'B2_VARIANT': 'variant=release,debug'} +linuxglobalimage="cppalliance/droneubuntu1404:1" +windowsglobalimage="cppalliance/dronevs2019" + +def main(ctx): + return [ + linux_cxx("COMMENT=C++03 TOOLSET=gcc,gcc-7 Job 0", "g++", packages="g++-7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'C++03', 'TOOLSET': 'gcc,gcc-7', 'DRONE_JOB_UUID': 'b6589fc6ab'}, globalenv=globalenv), + linux_cxx("COMMENT=C++11 TOOLSET=clang CXXSTD=11 Job 1", "clang++", packages="g++-7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'C++11', 'TOOLSET': 'clang', 'CXXSTD': '11', 'DRONE_JOB_UUID': '356a192b79'}, globalenv=globalenv), + linux_cxx("COMMENT=valgrind TOOLSET=clang B2_VARIANT=var Job 2", "clang++", packages="clang-5.0 libstdc++-7-dev valgrind", llvm_os="trusty", llvm_ver="5.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'valgrind', 'TOOLSET': 'clang', 'B2_VARIANT': 'variant=debug', 'TESTFLAGS': 'testing.launcher=valgrind', 'DRONE_JOB_UUID': 'da4b9237ba'}, globalenv=globalenv), + linux_cxx("COMMENT=cppcheck Job 3", "g++", packages="binutils-gold gdb libc6-dbg", buildtype="15edef0d20-06e41ec903", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'cppcheck', 'DRONE_JOB_UUID': '77de68daec'}, globalenv=globalenv), + linux_cxx("COMMENT=CodeCov TOOLSET=gcc-7 Job 4", "g++", packages="gcc-7 g++-7", buildtype="15edef0d20-35de83136e", buildscript="drone", image=linuxglobalimage, environment={'COMMENT': 'CodeCov', 'TOOLSET': 'gcc-7', 'DRONE_JOB_UUID': '1b64538924'}, 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/drone.sh b/.drone/drone.sh new file mode 100755 index 0000000000..9fe98259c8 --- /dev/null +++ b/.drone/drone.sh @@ -0,0 +1,85 @@ +#!/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 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 PATH=~/.local/bin:/usr/local/bin:$PATH + +if [ "$DRONE_JOB_BUILDTYPE" == "boost" ]; then + +echo '==================================> INSTALL' + +export SELF=`basename $REPO_NAME` +cd .. +git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root +cd boost-root +git submodule update -q --init tools/boostdep +git submodule update -q --init tools/build +git submodule update -q --init tools/inspect +cp -r $TRAVIS_BUILD_DIR/* libs/$SELF +export BOOST_ROOT="`pwd`" +export PATH="`pwd`":$PATH +python tools/boostdep/depinst/depinst.py $SELF --include example +./bootstrap.sh +./b2 headers + +echo '==================================> SCRIPT' + +cd libs/$SELF +ci/build.sh + +elif [ "$DRONE_JOB_BUILDTYPE" == "15edef0d20-06e41ec903" ]; then + +echo '==================================> INSTALL' + +export SELF=`basename $REPO_NAME` +cd .. +git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root +cd boost-root +git submodule update -q --init tools/boostdep +git submodule update -q --init tools/build +git submodule update -q --init tools/inspect +cp -r $TRAVIS_BUILD_DIR/* libs/$SELF +export BOOST_ROOT="`pwd`" +export PATH="`pwd`":$PATH +python tools/boostdep/depinst/depinst.py $SELF --include example +./bootstrap.sh +./b2 headers + +echo '==================================> SCRIPT' + +libs/$SELF/ci/cppcheck.sh + +elif [ "$DRONE_JOB_BUILDTYPE" == "15edef0d20-35de83136e" ]; then + +echo '==================================> INSTALL' + +export SELF=`basename $REPO_NAME` +cd .. +git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root +cd boost-root +git submodule update -q --init tools/boostdep +git submodule update -q --init tools/build +git submodule update -q --init tools/inspect +cp -r $TRAVIS_BUILD_DIR/* libs/$SELF +export BOOST_ROOT="`pwd`" +export PATH="`pwd`":$PATH +python tools/boostdep/depinst/depinst.py $SELF --include example +./bootstrap.sh +./b2 headers + +echo '==================================> SCRIPT' + +pushd /tmp && git clone https://github.com/linux-test-project/lcov.git && cd lcov && sudo make install && which lcov && lcov --version && popd +cd libs/$SELF +ci/codecov.sh + +fi