############################################################################## # GitHub Actions Workflow for Boost.Geometry to check if all headers compile # independently # # Copyright (c) 2023, Oracle and/or its affiliates. # Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle # # Use, modification and distribution is subject to the Boost Software License, # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) ############################################################################## name: headers on: [push, pull_request] jobs: build: name: Compile headers runs-on: ubuntu-latest steps: - name: Set up environment id: setenv run: | if [[ "$GITHUB_REF" == *master ]]; then echo "BOOST_BRANCH=master" >> $GITHUB_ENV else echo "BOOST_BRANCH=develop" >> $GITHUB_ENV fi echo "BOOST_SELF=$(basename $GITHUB_WORKSPACE)" >> $GITHUB_ENV echo "BOOST_ROOT=$GITHUB_WORKSPACE/boost-root" >> $GITHUB_ENV echo "boost_self=$(basename $GITHUB_WORKSPACE)" >> "$GITHUB_OUTPUT" echo "boost_root=$GITHUB_WORKSPACE/boost-root" >> "$GITHUB_OUTPUT" - name: Clone boostorg/boost run: | git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git $BOOST_ROOT cd $BOOST_ROOT git submodule update -q --init libs/headers git submodule update -q --init tools/boost_install git submodule update -q --init tools/boostbook git submodule update -q --init tools/boostdep git submodule update -q --init tools/build git submodule update -q --init tools/quickbook mkdir -p libs/$BOOST_SELF - uses: actions/checkout@v2 with: path: ${{ steps.setenv.outputs.boost_root }}/libs/${{ steps.setenv.outputs.boost_self }} - name: Run tools/boostdep/depinst/depinst.py run: | cd $BOOST_ROOT python tools/boostdep/depinst/depinst.py ../tools/quickbook python tools/boostdep/depinst/depinst.py --include benchmark --include example --include examples --include tools $BOOST_SELF - name: Bootstrap boostorg/boost run: | gcc --version cd $BOOST_ROOT ./bootstrap.sh --with-toolset=gcc ./b2 headers test -f /usr/local/bin/b2 && rm -rf /usr/local/bin/b2 test -f /usr/local/bin/bjam && rm -rf /usr/local/bin/bjam sudo cp $BOOST_ROOT/b2 /usr/local/bin/ ls -l /usr/local/bin/b2 b2 -v - name: Build libs/geometry/test/headers run: | cd $BOOST_ROOT $BOOST_ROOT/b2 libs/geometry/test/headers