Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drone config #338

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .drone.star
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# 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={}
linuxglobalimage="cppalliance/droneubuntu1604:1"
windowsglobalimage="cppalliance/dronevs2019"

def main(ctx):
return [
linux_cxx("TOOLSET=gcc CXXSTD=98,0x HEADERS_ONLY=1 Job 0", "g++", packages="g++-4.4", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '98,0x', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'g++-4.4', 'DRONE_JOB_UUID': 'b6589fc6ab'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc CXXSTD=98,0x HEADERS_ONLY=1 Job 1", "g++", packages="g++-4.6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '98,0x', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'g++-4.6', 'DRONE_JOB_UUID': '356a192b79'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc CXXSTD=03,11 HEADERS_ONLY=1 Job 2", "g++", packages="g++-4.7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '03,11', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'g++-4.7', 'DRONE_JOB_UUID': 'da4b9237ba'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc CXXSTD=03,11 HEADERS_ONLY=1 Job 3", "g++", packages="g++-4.8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '03,11', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'g++-4.8', 'DRONE_JOB_UUID': '77de68daec'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc CXXSTD=03,11 HEADERS_ONLY=1 Job 4", "g++", packages="g++-4.9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '03,11', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'g++-4.9', 'DRONE_JOB_UUID': '1b64538924'}, globalenv=globalenv),
# Not building #
# linux_cxx("TOOLSET=gcc CXXSTD=03 Job 5", "g++", packages="g++-5", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '03', 'TRAVIS_COMPILER': 'g++-5', 'DRONE_JOB_UUID': 'ac3478d69a'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc CXXSTD=11 Job 6", "g++", packages="g++-5", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '11', 'TRAVIS_COMPILER': 'g++-5', 'DRONE_JOB_UUID': 'c1dfd96eea'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc CXXSTD=14,1z HEADERS_ONLY=1 Job 7", "g++", packages="g++-6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '14,1z', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'g++-6', 'DRONE_JOB_UUID': '902ba3cda1'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc CXXSTD=14,17 HEADERS_ONLY=1 Job 8", "g++", packages="g++-7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '14,17', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'g++-7', 'DRONE_JOB_UUID': 'fe5dbbcea5'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc CXXSTD=14,17 HEADERS_ONLY=1 Job 9", "g++", packages="g++-8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '14,17', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'g++-8', 'DRONE_JOB_UUID': '0ade7c2cf9'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc CXXSTD=14 Job 10", "g++", packages="g++-9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '14', 'TRAVIS_COMPILER': 'g++-9', 'DRONE_JOB_UUID': 'b1d5781111'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc CXXSTD=17 Job 11", "g++", packages="g++-9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '17', 'TRAVIS_COMPILER': 'g++-9', 'DRONE_JOB_UUID': '17ba079149'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=03,11 HEADERS_ONLY=1 Job 12", "clang++", packages="clang-3.5", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'CXXSTD': '03,11', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'clang++-3.5', 'DRONE_JOB_UUID': '7b52009b64'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=03,11,14 HEADERS_ONLY=1 Job 13", "clang++", packages="clang-3.6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '03,11,14', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'clang++-3.6', 'DRONE_JOB_UUID': 'bd307a3ec3'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=03,11,14 HEADERS_ONLY=1 Job 14", "clang++", packages="clang-3.7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '03,11,14', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'clang++-3.7', 'DRONE_JOB_UUID': 'fa35e19212'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=03,11,14 HEADERS_ONLY=1 Job 15", "clang++", packages="clang-3.8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '03,11,14', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'clang++-3.8', 'DRONE_JOB_UUID': 'f1abd67035'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=03,11,14,1z HEADERS_ONLY Job 16", "clang++", packages="clang-3.9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '03,11,14,1z', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'clang++-3.9', 'DRONE_JOB_UUID': '1574bddb75'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=03,11,14,1z HEADERS_ONLY Job 17", "clang++", packages="clang-4.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '03,11,14,1z', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'clang++-4.0', 'DRONE_JOB_UUID': '0716d9708d'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=03,11,14,1z HEADERS_ONLY Job 18", "clang++", packages="clang-5.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '03,11,14,1z', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'clang++-5.0', 'DRONE_JOB_UUID': '9e6a55b6b4'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=14,17 HEADERS_ONLY=1 Job 19", "clang++", packages="clang-6.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '14,17', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'clang++-6.0', 'DRONE_JOB_UUID': 'b3f0c7f6bb'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=14,17,2a HEADERS_ONLY=1 Job 20", "clang++", packages="clang-7", llvm_os="xenial", llvm_ver="7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '14,17,2a', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'clang++-7', 'DRONE_JOB_UUID': '91032ad7bb'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=14,17,2a HEADERS_ONLY=1 Job 21", "clang++", packages="clang-8", llvm_os="xenial", llvm_ver="8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '14,17,2a', 'HEADERS_ONLY': '1', 'TRAVIS_COMPILER': 'clang++-8', 'DRONE_JOB_UUID': '472b07b9fc'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=14 Job 22", "clang++", packages="clang-9", llvm_os="xenial", llvm_ver="9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '14', 'TRAVIS_COMPILER': 'clang++-9', 'DRONE_JOB_UUID': '12c6fc06c9'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=17 Job 23", "clang++", packages="clang-9", llvm_os="xenial", llvm_ver="9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '17', 'TRAVIS_COMPILER': 'clang++-9', 'DRONE_JOB_UUID': 'd435a6cdd7'}, globalenv=globalenv),
osx_cxx("TOOLSET=clang CXXSTD=98 Job 24", "clang++", packages="", buildtype="boost", buildscript="drone", environment={'TOOLSET': 'clang', 'CXXSTD': '98', 'TRAVIS_COMPILER': 'clang++', 'DRONE_JOB_UUID': '4d134bc072'}, globalenv=globalenv),
osx_cxx("TOOLSET=clang CXXSTD=1z Job 25", "clang++", packages="", buildtype="boost", buildscript="drone", environment={'TOOLSET': 'clang', 'CXXSTD': '1z', 'TRAVIS_COMPILER': 'clang++', 'DRONE_JOB_UUID': 'f6e1126ced'}, globalenv=globalenv),
]

# from https://github.com/boostorg/boost-ci
load("@boost_ci//ci/drone/:functions.star", "linux_cxx","windows_cxx","osx_cxx","freebsd_cxx")
43 changes: 43 additions & 0 deletions .drone/drone.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/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 USER=$(whoami)
export CC=${CC:-gcc}
export PATH=~/.local/bin:/usr/local/bin:$PATH

if [ "$DRONE_JOB_BUILDTYPE" == "boost" ]; then

echo '==================================> INSTALL'

GIT_FETCH_JOBS=8
BOOST_BRANCH=develop
if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule init tools/build
git submodule init libs/config
git submodule init tools/boostdep
git submodule update --jobs $GIT_FETCH_JOBS
mkdir -p libs/thread
cp -r $TRAVIS_BUILD_DIR/* libs/thread
python tools/boostdep/depinst/depinst.py --git_args "--jobs $GIT_FETCH_JOBS" thread
./bootstrap.sh
./b2 headers

echo '==================================> SCRIPT'

echo "using $TOOLSET : : $TRAVIS_COMPILER ;" > ~/user-config.jam
./b2 -j3 -l60 libs/thread/test${HEADERS_ONLY:+//test_self_contained_headers} toolset=$TOOLSET cxxstd=$CXXSTD

fi