1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
##############################################################################
# GitHub Actions Workflow for Boost.Geometry to build minimal tests with MSVC
#
# Copyright (c) 2020 Mateusz Loskot <mateusz@loskot.net>
#
# 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: msvc-test-minimal
on: [push, pull_request]
jobs:
build:
name: ${{ matrix.b2_toolset }}
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
# TODO: Waiting for msvc-14.0, msvc-14.1
# https://github.com/actions/virtual-environments/issues/68#issuecomment-596817066
b2_toolset: [
msvc-14.2
]
include:
- b2_toolset: msvc-14.2
b2_cxxstd: 14,17,2a
steps:
- name: Set up environment
id: setenv
shell: pwsh
run: |
if ("$GITHUB_REF" -contains "master") {
echo "::set-env name=BOOST_BRANCH::master"
} else {
echo "::set-env name=BOOST_BRANCH::develop"
}
echo "::set-env name=BOOST_SELF::$((Get-Item $env:GITHUB_WORKSPACE).BaseName)"
echo "::set-env name=BOOST_ROOT::$env:GITHUB_WORKSPACE\boost-root"
echo "::set-output name=boost_self::$((Get-Item $env:GITHUB_WORKSPACE).BaseName)"
echo "::set-output name=boost_root::$env:GITHUB_WORKSPACE\boost-root"
- name: Clone boostorg/boost
shell: pwsh
run: |
git clone -b $env:BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git $env:BOOST_ROOT
cd $env:BOOST_ROOT
git submodule update -q --init libs/headers
git submodule update -q --init tools/boost_install
git submodule update -q --init tools/boostdep
git submodule update -q --init tools/build
New-Item -Path libs\$env:BOOST_SELF -ItemType Directory -ErrorAction SilentlyContinue
- uses: actions/checkout@v2
with:
path: ${{ steps.setenv.outputs.boost_root }}/libs/${{ steps.setenv.outputs.boost_self }}
- name: Run tools/boostdep/depinst/depinst.py
shell: pwsh
run: |
cd $env:BOOST_ROOT
python tools/boostdep/depinst/depinst.py --include benchmark --include example --include examples --include tools $env:BOOST_SELF
- name: Bootstrap boostorg/boost
shell: pwsh
run: |
cd $env:BOOST_ROOT
.\bootstrap.bat --with-toolset=msvc
.\b2 headers
.\b2 -v
- name: Build libs/geometry/test//minimal
shell: pwsh
run: |
cd $env:BOOST_ROOT
.\b2 toolset=${{ matrix.b2_toolset }} cxxstd=${{ matrix.b2_cxxstd }} variant=debug,release address-model=32,64 libs/geometry/test//minimal
|