blob: 122f350c09e30b88bd6b9961df27355f6c40c4e5 [file] [log] [blame]
name: GitHub Actions CI
on:
pull_request:
push:
branches:
- master
- develop
- githubactions*
- feature/**
- fix/**
- pr/**
jobs:
posix:
strategy:
fail-fast: false
matrix:
include:
- name: "TOOLSET=gcc-4.4 CXXSTD=98,0x Job 0"
buildtype: "boost"
packages: "g++-4.4 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
container: "ubuntu:14.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.4"
cxxstd: "98,0x"
job_uuid: "b6589fc6ab"
- name: "TOOLSET=gcc-4.6 CXXSTD=03,0x Job 1"
buildtype: "boost"
packages: "g++-4.6 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.6"
cxxstd: "03,0x"
job_uuid: "356a192b79"
- name: "TOOLSET=gcc-4.7 CXXSTD=03,11 Job 2"
buildtype: "boost"
packages: "g++-4.7 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.7"
cxxstd: "03,11"
job_uuid: "da4b9237ba"
- name: "TOOLSET=gcc-4.8 CXXSTD=03,11 Job 3"
buildtype: "boost"
packages: "g++-4.8 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.8"
cxxstd: "03,11"
job_uuid: "77de68daec"
- name: "TOOLSET=gcc-4.8 CXXSTD=1y Job 4"
buildtype: "boost"
packages: "g++-4.8 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.8"
cxxstd: "1y"
job_uuid: "1b64538924"
- name: "TOOLSET=gcc-4.9 CXXSTD=03,11 Job 5"
buildtype: "boost"
packages: "g++-4.9 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.9"
cxxstd: "03,11"
job_uuid: "ac3478d69a"
- name: "TOOLSET=gcc-4.9 CXXSTD=14 Job 6"
buildtype: "boost"
packages: "g++-4.9 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.9"
cxxstd: "14"
job_uuid: "c1dfd96eea"
- name: "TOOLSET=gcc-5 CXXSTD=03,11 Job 7"
buildtype: "boost"
packages: "g++-5 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-5"
cxxstd: "03,11"
job_uuid: "902ba3cda1"
- name: "TOOLSET=gcc-5 CXXSTD=14,17 Job 8"
buildtype: "boost"
packages: "g++-5 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-5"
cxxstd: "14,17"
job_uuid: "fe5dbbcea5"
- name: "TOOLSET=gcc-6 CXXSTD=03,11 Job 9"
buildtype: "boost"
packages: "g++-6 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-6"
cxxstd: "03,11"
job_uuid: "0ade7c2cf9"
- name: "TOOLSET=gcc-6 CXXSTD=14,17 Job 10"
buildtype: "boost"
packages: "g++-6 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-6"
cxxstd: "14,17"
job_uuid: "b1d5781111"
- name: "TOOLSET=gcc-7 CXXSTD=03,11 Job 11"
buildtype: "boost"
packages: "g++-7 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-7"
cxxstd: "03,11"
job_uuid: "17ba079149"
- name: "TOOLSET=gcc-7 CXXSTD=14,17 Job 12"
buildtype: "boost"
packages: "g++-7 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-7"
cxxstd: "14,17"
job_uuid: "7b52009b64"
- name: "TOOLSET=gcc-8 CXXSTD=03,11 Job 13"
buildtype: "boost"
packages: "g++-8 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-8"
cxxstd: "03,11"
job_uuid: "bd307a3ec3"
- name: "TOOLSET=gcc-8 CXXSTD=14,17 Job 14"
buildtype: "boost"
packages: "g++-8 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-8"
cxxstd: "14,17"
job_uuid: "fa35e19212"
- name: "TOOLSET=gcc-8 CXXSTD=2a Job 15"
buildtype: "boost"
packages: "g++-8 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-8"
cxxstd: "2a"
job_uuid: "f1abd67035"
- name: "TOOLSET=gcc-9 CXXSTD=03,11,14 SANITIZED Job 16"
buildtype: "boost"
packages: "g++-9 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-9"
cxxstd: "03,11,14"
job_uuid: "1574bddb75"
- name: "TOOLSET=gcc-9 CXXSTD=17,2a SANITIZED Job 17"
buildtype: "boost"
packages: "g++-9 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-9"
cxxstd: "17,2a"
job_uuid: "0716d9708d"
- name: "TOOLSET=clang-3.5 CXXSTD=03,11 Job 18"
buildtype: "boost"
packages: "clang-3.5 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.5"
cxxstd: "03,11"
job_uuid: "9e6a55b6b4"
- name: "TOOLSET=clang-3.6 CXXSTD=03,11 Job 19"
buildtype: "boost"
packages: "clang-3.6 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.6"
cxxstd: "03,11"
job_uuid: "b3f0c7f6bb"
- name: "TOOLSET=clang-3.6 CXXSTD=14,1z Job 20"
buildtype: "boost"
packages: "clang-3.6 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.6"
cxxstd: "14"
job_uuid: "91032ad7bb"
- name: "TOOLSET=clang-3.7 CXXSTD=03,11 Job 21"
buildtype: "boost"
packages: "clang-3.7 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.7"
cxxstd: "03,11"
job_uuid: "472b07b9fc"
- name: "TOOLSET=clang-3.7 CXXSTD=14,1z Job 22"
buildtype: "boost"
packages: "clang-3.7 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.7"
cxxstd: "14"
job_uuid: "12c6fc06c9"
- name: "TOOLSET=clang-3.8 CXXSTD=03,11 Job 23"
buildtype: "boost"
packages: "clang-3.8 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.8"
cxxstd: "03,11"
job_uuid: "d435a6cdd7"
- name: "TOOLSET=clang-3.8 CXXSTD=14,1z Job 24"
buildtype: "boost"
packages: "clang-3.8 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.8"
cxxstd: "14"
job_uuid: "4d134bc072"
- name: "TOOLSET=clang-3.9 CXXSTD=03,11 Job 25"
buildtype: "boost"
packages: "clang-3.9 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.9"
cxxstd: "03,11"
job_uuid: "f6e1126ced"
- name: "TOOLSET=clang-3.9 CXXSTD=14,1z Job 26"
buildtype: "boost"
packages: "clang-3.9 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.9"
cxxstd: "14"
job_uuid: "887309d048"
- name: "TOOLSET=clang-4.0 CXXSTD=03,11 Job 27"
buildtype: "boost"
packages: "clang-4.0 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-4.0"
cxxstd: "03,11"
job_uuid: "bc33ea4e26"
- name: "TOOLSET=clang-4.0 CXXSTD=14,1z Job 28"
buildtype: "boost"
packages: "clang-4.0 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-4.0"
cxxstd: "14"
job_uuid: "0a57cb53ba"
- name: "TOOLSET=clang-5.0 CXXSTD=03,11 Job 29"
buildtype: "boost"
packages: "clang-5.0 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "5.0"
toolset: "clang-5.0"
cxxstd: "03,11"
job_uuid: "7719a1c782"
- name: "TOOLSET=clang-5.0 CXXSTD=14,17 Job 30"
buildtype: "boost"
packages: "clang-5.0 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "5.0"
toolset: "clang-5.0"
cxxstd: "14,17"
job_uuid: "22d200f867"
- name: "TOOLSET=clang-5.0 CXXSTD=2a Job 31"
buildtype: "boost"
packages: "clang-5.0 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "5.0"
toolset: "clang-5.0"
cxxstd: "2a"
job_uuid: "632667547e"
- name: "TOOLSET=clang-6.0 CXXSTD=03,11 Job 32"
buildtype: "boost"
packages: "clang-6.0 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "6.0"
toolset: "clang-6.0"
cxxstd: "03,11"
job_uuid: "cb4e5208b4"
- name: "TOOLSET=clang-6.0 CXXSTD=14,17 Job 33"
buildtype: "boost"
packages: "clang-6.0 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "6.0"
toolset: "clang-6.0"
cxxstd: "14,17"
job_uuid: "b6692ea5df"
- name: "TOOLSET=clang-6.0 CXXSTD=2a Job 34"
buildtype: "boost"
packages: "clang-6.0 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "6.0"
toolset: "clang-6.0"
cxxstd: "2a"
job_uuid: "f1f836cb4e"
- name: "TOOLSET=clang-7 CXXSTD=03,11 Job 35"
buildtype: "boost"
packages: "clang-7 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "7"
toolset: "clang-7"
cxxstd: "03,11"
job_uuid: "972a67c481"
- name: "TOOLSET=clang-7 CXXSTD=14,17 Job 36"
buildtype: "boost"
packages: "clang-7 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "7"
toolset: "clang-7"
cxxstd: "14,17"
job_uuid: "fc074d5013"
- name: "TOOLSET=clang-7 CXXSTD=2a Job 37"
buildtype: "boost"
packages: "clang-7 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "7"
toolset: "clang-7"
cxxstd: "2a"
job_uuid: "cb7a1d775e"
- name: "TOOLSET=clang-8 CXXSTD=03,11,14 Job 38"
buildtype: "boost"
packages: "clang-8 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-8"
cxxstd: "03,11,14"
job_uuid: "5b384ce32d"
- name: "TOOLSET=clang-8 CXXSTD=17,2a Job 39"
buildtype: "boost"
packages: "clang-8 ccache"
packages_to_remove: ""
os: "ubuntu-16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-8"
cxxstd: "17,2a"
job_uuid: "ca3512f4df"
- name: "TOOLSET=clang-9 CXXSTD=03,11,14 SANITIZED Job 40"
buildtype: "boost"
packages: "clang-9 ccache"
packages_to_remove: ""
os: "ubuntu-18.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-9"
cxxstd: "03,11,14"
job_uuid: "af3e133428"
- name: "TOOLSET=clang-9 CXXSTD=17,2a SANITIZED Job 41"
buildtype: "boost"
packages: "clang-9 ccache"
packages_to_remove: ""
os: "ubuntu-18.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-9"
cxxstd: "17,2a"
job_uuid: "761f22b2c1"
runs-on: ${{ matrix.os }}
container: ${{ matrix.container }}
steps:
- name: Check if running in container
if: matrix.container != ''
run: echo "GHA_CONTAINER=${{ matrix.container }}" >> $GITHUB_ENV
- name: If running in container, upgrade packages
if: matrix.container != ''
run: |
sudo 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 make apt-file sudo unzip libssl-dev build-essential autotools-dev autoconf automake g++ libc++-helpers python python-pip ruby cpio gcc-multilib g++-multilib pkgconf python3 python3-pip ccache libpython-dev
sudo apt-add-repository ppa:git-core/ppa
sudo apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 -y install git
sudo python -m pip install --upgrade pip==20.3.4
sudo /usr/local/bin/pip install cmake
- uses: actions/checkout@v2
- name: linux
shell: bash
env:
CXX: ${{ matrix.cxx }}
SOURCES: ${{ matrix.sources }}
LLVM_OS: ${{ matrix.llvm_os }}
LLVM_VER: ${{ matrix.llvm_ver }}
PACKAGES: ${{ matrix.packages }}
PACKAGES_TO_REMOVE: ${{ matrix.packages_to_remove }}
JOB_BUILDTYPE: ${{ matrix.buildtype }}
TOOLSET: ${{ matrix.toolset }}
CXXSTD: ${{ matrix.cxxstd }}
COMPILER: ${{ matrix.compiler }}
TRAVIS_BRANCH: ${{ github.base_ref }}
TRAVIS_OS_NAME: "linux"
JOB_UUID: ${{ matrix.job_uuid }}
run: |
echo '==================================> SETUP'
echo '==================================> PACKAGES'
set -e
if [ -n "$PACKAGES_TO_REMOVE" ]; then sudo apt-get purge -y $PACKAGES_TO_REMOVE; fi
echo ">>>>> APT: REPO.."
for i in {1..3}; do sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" && break || sleep 2; done
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 ">>>>> APT: UPDATE.."
sudo -E apt-get -o Acquire::Retries=3 update
if test -n "${SOURCES}" ; then
echo ">>>>> APT: INSTALL SOURCES.."
for SOURCE in $SOURCES; do
sudo -E apt-add-repository ppa:$SOURCE
done
fi
echo ">>>>> APT: INSTALL ${PACKAGES}.."
sudo -E DEBIAN_FRONTEND=noninteractive apt-get -o Acquire::Retries=3 -y --no-install-suggests --no-install-recommends install ${PACKAGES}
echo '==================================> INSTALL AND COMPILE'
set -e
export TRAVIS_BUILD_DIR=$(pwd)
export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')}
export VCS_COMMIT_ID=$GITHUB_SHA
export GIT_COMMIT=$GITHUB_SHA
export REPO_NAME=$(basename $GITHUB_REPOSITORY)
export USER=$(whoami)
export CC=${CC:-gcc}
export PATH=~/.local/bin:/usr/local/bin:$PATH
if [ "$JOB_BUILDTYPE" == "boost" ]; then
echo '==================================> BEFORE_INSTALL'
. .github/scripts/before-install.sh
echo '==================================> INSTALL'
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
cd ..
git clone --depth 1 -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule init libs/algorithm
git submodule init libs/any
git submodule init libs/array
git submodule init libs/assert
git submodule init libs/assign
git submodule init libs/atomic
git submodule init libs/bind
git submodule init libs/chrono
git submodule init libs/circular_buffer
git submodule init libs/concept_check
git submodule init libs/config
git submodule init libs/container
git submodule init libs/container_hash
git submodule init libs/conversion
git submodule init libs/core
git submodule init libs/date_time
git submodule init libs/detail
git submodule init libs/endian
git submodule init libs/exception
git submodule init libs/filesystem
git submodule init libs/foreach
git submodule init libs/format
git submodule init libs/function
git submodule init libs/function_types
git submodule init libs/functional
git submodule init libs/fusion
git submodule init libs/integer
git submodule init libs/intrusive
git submodule init libs/io
git submodule init libs/iostreams
git submodule init libs/iterator
git submodule init libs/lambda
git submodule init libs/lexical_cast
git submodule init libs/locale
git submodule init libs/log
git submodule init libs/math
git submodule init libs/move
git submodule init libs/mp11
git submodule init libs/mpl
git submodule init libs/multi_index
git submodule init libs/numeric/conversion
git submodule init libs/optional
git submodule init libs/parameter
git submodule init libs/pool
git submodule init libs/predef
git submodule init libs/preprocessor
git submodule init libs/property_tree
git submodule init libs/proto
git submodule init libs/ptr_container
git submodule init libs/python
git submodule init libs/random
git submodule init libs/range
git submodule init libs/ratio
git submodule init libs/rational
git submodule init libs/regex
git submodule init libs/serialization
git submodule init libs/signals2
git submodule init libs/smart_ptr
git submodule init libs/spirit
git submodule init libs/static_assert
git submodule init libs/system
git submodule init libs/thread
git submodule init libs/throw_exception
git submodule init libs/tokenizer
git submodule init libs/tti
git submodule init libs/tuple
git submodule init libs/type_index
git submodule init libs/type_traits
git submodule init libs/typeof
git submodule init libs/unordered
git submodule init libs/utility
git submodule init libs/variant
git submodule init libs/winapi
git submodule init libs/xpressive
git submodule init libs/headers tools/boost_install tools/build
git submodule update --jobs 8
rm -rf libs/phoenix
cp -rp $TRAVIS_BUILD_DIR libs/phoenix
ln -s $(pwd)/libs/phoenix $TRAVIS_BUILD_DIR
./bootstrap.sh
./b2 headers
if [ $TRAVIS_OS_NAME = osx ]; then
export PATH="/usr/local/opt/ccache/libexec:$PATH"
true brew install ccache
fi
echo "using ${TOOLSET%%-*} : ${TOOLSET#*-} : ccache `echo $TOOLSET | sed 's/clang/clang++/;s/gcc/g++/'` ;" > ~/user-config.jam
echo '==================================> SCRIPT'
./b2 libs/phoenix/test toolset=$TOOLSET cxxstd=$CXXSTD ${SANITIZED+cxxflags=-fsanitize=address,undefined} ${SANITIZED+'linkflags=-fsanitize=address,undefined -fuse-ld=gold'}
fi
osx:
strategy:
fail-fast: false
matrix:
include:
- name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 Job 42"
buildtype: "boost"
packages: ""
os: "macos-10.15"
cxx: "clang++"
sources: ""
llvm_os: ""
llvm_ver: ""
xcode_version: 11.7
toolset: "clang"
compiler: "clang++"
cxxstd: "03,11"
job_uuid: "92cfceb39d"
- name: "TOOLSET=clang COMPILER=clang++ CXXSTD=14,1z Job 43"
buildtype: "boost"
packages: ""
os: "macos-10.15"
cxx: "clang++"
sources: ""
llvm_os: ""
llvm_ver: ""
xcode_version: 11.7
toolset: "clang"
compiler: "clang++"
cxxstd: "14,1z"
job_uuid: "0286dd552c"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Set DEVELOPER_DIR
if: matrix.xcode_version != ''
run: echo "DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode_version }}.app/Contents/Developer" >> $GITHUB_ENV
- name: Test DEVELOPER_DIR
run: echo $DEVELOPER_DIR
- name: "osx"
shell: bash
env:
CXX: ${{ matrix.cxx }}
SOURCES: ${{ matrix.sources }}
LLVM_OS: ${{ matrix.llvm_os }}
LLVM_VER: ${{ matrix.llvm_ver }}
PACKAGES: ${{ matrix.packages }}
JOB_BUILDTYPE: ${{ matrix.buildtype }}
TOOLSET: ${{ matrix.toolset }}
CXXSTD: ${{ matrix.cxxstd }}
COMPILER: ${{ matrix.compiler }}
TRAVIS_BRANCH: ${{ github.base_ref }}
TRAVIS_OS_NAME: "osx"
JOB_UUID: ${{ matrix.job_uuid }}
run: |
echo '==================================> SETUP'
set -e
sudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools.bck
echo '==================================> PACKAGES'
echo '==================================> INSTALL AND COMPILE'
set -e
export TRAVIS_BUILD_DIR=$(pwd)
export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')}
export VCS_COMMIT_ID=$GITHUB_SHA
export GIT_COMMIT=$GITHUB_SHA
export REPO_NAME=$(basename $GITHUB_REPOSITORY)
export USER=$(whoami)
export CC=${CC:-gcc}
export PATH=~/.local/bin:/usr/local/bin:$PATH
if [ "$JOB_BUILDTYPE" == "boost" ]; then
echo '==================================> BEFORE_INSTALL'
. .github/scripts/before-install.sh
echo '==================================> INSTALL'
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
cd ..
git clone --depth 1 -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule init libs/algorithm
git submodule init libs/any
git submodule init libs/array
git submodule init libs/assert
git submodule init libs/assign
git submodule init libs/atomic
git submodule init libs/bind
git submodule init libs/chrono
git submodule init libs/circular_buffer
git submodule init libs/concept_check
git submodule init libs/config
git submodule init libs/container
git submodule init libs/container_hash
git submodule init libs/conversion
git submodule init libs/core
git submodule init libs/date_time
git submodule init libs/detail
git submodule init libs/endian
git submodule init libs/exception
git submodule init libs/filesystem
git submodule init libs/foreach
git submodule init libs/format
git submodule init libs/function
git submodule init libs/function_types
git submodule init libs/functional
git submodule init libs/fusion
git submodule init libs/integer
git submodule init libs/intrusive
git submodule init libs/io
git submodule init libs/iostreams
git submodule init libs/iterator
git submodule init libs/lambda
git submodule init libs/lexical_cast
git submodule init libs/locale
git submodule init libs/log
git submodule init libs/math
git submodule init libs/move
git submodule init libs/mp11
git submodule init libs/mpl
git submodule init libs/multi_index
git submodule init libs/numeric/conversion
git submodule init libs/optional
git submodule init libs/parameter
git submodule init libs/pool
git submodule init libs/predef
git submodule init libs/preprocessor
git submodule init libs/property_tree
git submodule init libs/proto
git submodule init libs/ptr_container
git submodule init libs/python
git submodule init libs/random
git submodule init libs/range
git submodule init libs/ratio
git submodule init libs/rational
git submodule init libs/regex
git submodule init libs/serialization
git submodule init libs/signals2
git submodule init libs/smart_ptr
git submodule init libs/spirit
git submodule init libs/static_assert
git submodule init libs/system
git submodule init libs/thread
git submodule init libs/throw_exception
git submodule init libs/tokenizer
git submodule init libs/tti
git submodule init libs/tuple
git submodule init libs/type_index
git submodule init libs/type_traits
git submodule init libs/typeof
git submodule init libs/unordered
git submodule init libs/utility
git submodule init libs/variant
git submodule init libs/winapi
git submodule init libs/xpressive
git submodule init libs/headers tools/boost_install tools/build
git submodule update --jobs 8
rm -rf libs/phoenix
cp -rp $TRAVIS_BUILD_DIR libs/phoenix
ln -s $(pwd)/libs/phoenix $TRAVIS_BUILD_DIR
./bootstrap.sh
./b2 headers
if [ $TRAVIS_OS_NAME = osx ]; then
export PATH="/usr/local/opt/ccache/libexec:$PATH"
true brew install ccache
fi
echo "using ${TOOLSET%%-*} : ${TOOLSET#*-} : ccache `echo $TOOLSET | sed 's/clang/clang++/;s/gcc/g++/'` ;" > ~/user-config.jam
echo '==================================> SCRIPT'
./b2 libs/phoenix/test toolset=$TOOLSET cxxstd=$CXXSTD ${SANITIZED+cxxflags=-fsanitize=address,undefined} ${SANITIZED+'linkflags=-fsanitize=address,undefined -fuse-ld=gold'}
fi