Skip to content

Update doc scripts

Update doc scripts #44

Workflow file for this run

#
# Copyright (c) 2023 Christian Mazakas
# Copyright (c) 2023 Alan de Freitas
# Copyright (c) 2021-2023 Sam Darwin
# Copyright (c) 2020-2021 Peter Dimov
# Copyright (c) 2021 Andrey Semashev
#
# Distributed under 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)
#
# Official repository: https://github.com/CPPAlliance/buffers/
#
name: CI
on:
pull_request:
push:
branches:
- master
- develop
- bugfix/**
- feature/**
- fix/**
- pr/**
concurrency:
group: ${{format('{0}:{1}', github.repository, github.ref)}}
cancel-in-progress: true
env:
GIT_FETCH_JOBS: 8
NET_RETRY_COUNT: 5
DEFAULT_BUILD_VARIANT: debug,release
UBSAN_OPTIONS: "print_stacktrace=1"
ASAN_OPTIONS: "detect_invalid_pointer_pairs=2"
jobs:
runner-selection:
name: Runner Selection
runs-on: ${{ github.repository_owner == 'boostorg' && fromJSON('[ "self-hosted", "linux", "x64", "ubuntu-latest-aws" ]') || 'ubuntu-latest' }}
outputs:
labelmatrix: ${{ steps.aws_hosted_runners.outputs.labelmatrix }}
steps:
- name: AWS Hosted Runners
id: aws_hosted_runners
uses: cppalliance/[email protected]
# build:
# needs: [ runner-selection ]
# defaults:
# run:
# shell: bash
# strategy:
# fail-fast: false
# matrix:
# include:
# # Windows compilers
# #
# - compiler: "msvc"
# version: "14.34"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# runs-on: "windows-2022"
# b2-toolset: "msvc"
# generator: "Visual Studio 17 2022"
# is-latest: true
# name: "MSVC 14.34: C++17-20"
# build-type: "Release"
# build-cmake: true
# - compiler: "msvc"
# version: "14.34"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# runs-on: "windows-2022"
# b2-toolset: "msvc"
# generator: "Visual Studio 17 2022"
# is-latest: true
# name: "MSVC 14.34: C++17-20 (x86)"
# x86: true
# build-type: "Release"
# - compiler: "msvc"
# version: "14.34"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# runs-on: "windows-2022"
# b2-toolset: "msvc"
# generator: "Visual Studio 17 2022"
# is-latest: true
# name: "MSVC 14.34: C++17-20 (shared)"
# shared: true
# build-type: "Release"
# build-cmake: true
# - compiler: "msvc"
# version: "14.29"
# cxxstd: "14,17"
# latest-cxxstd: "17"
# runs-on: "windows-2019"
# b2-toolset: "msvc"
# generator: "Visual Studio 16 2019"
# is-earliest: true
# name: "MSVC 14.29: C++14-17"
# build-type: "Release"
# - compiler: "clang-cl"
# version: "*"
# cxx: "clang++-cl"
# cc: "clang-cl"
# runs-on: "windows-2022"
# b2-toolset: "clang-win"
# generator-toolset: "ClangCL"
# is-latest: true
# is-earliest: true
# name: "Windows-Clang"
# build-type: "Release"
# build-cmake: true
# - compiler: "mingw"
# version: "*"
# cxx: "g++"
# cc: "gcc"
# runs-on: "windows-2022"
# b2-toolset: "gcc"
# generator: "MinGW Makefiles"
# is-latest: true
# is-earliest: true
# name: "MinGW"
# build-type: "Release"
# build-cmake: true
# - compiler: "mingw"
# version: "*"
# cxx: "g++"
# cc: "gcc"
# runs-on: "windows-2022"
# b2-toolset: "gcc"
# generator: "MinGW Makefiles"
# is-latest: true
# is-earliest: true
# name: "MinGW (shared)"
# shared: true
# build-type: "Release"
# build-cmake: true
# # OSX compilers
# #
# - compiler: "apple-clang"
# version: "*"
# cxx: "clang++"
# cc: "clang"
# runs-on: "macos-11"
# b2-toolset: "clang"
# is-latest: true
# is-earliest: true
# name: "Apple-Clang"
# build-type: "Release"
# build-cmake: true
# - compiler: "apple-clang"
# version: "*"
# cxx: "clang++"
# cc: "clang"
# runs-on: "macos-11"
# b2-toolset: "clang"
# is-latest: true
# name: "Apple-Clang (ubsan)"
# build-type: "RelWithDebInfo"
# ubsan: true
# - compiler: "apple-clang"
# version: "*"
# cxx: "clang++"
# cc: "clang"
# runs-on: "macos-11"
# b2-toolset: "clang"
# is-latest: true
# name: "Apple-Clang (asan)"
# build-type: "RelWithDebInfo"
# asan: true
# # Linux compilers
# #
# - compiler: "gcc"
# version: "13"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "g++-13"
# cc: "gcc-13"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.04"
# b2-toolset: "gcc"
# is-latest: true
# name: "GCC 13: C++17-20"
# build-type: "Release"
# build-cmake: true
# - compiler: "gcc"
# version: "13"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "g++-13"
# cc: "gcc-13"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.04"
# b2-toolset: "gcc"
# is-latest: true
# name: "GCC 13: C++17-20 (x86)"
# x86: true
# build-type: "Release"
# install: "gcc-13-multilib g++-13-multilib"
# - compiler: "gcc"
# version: "13"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "g++-13"
# cc: "gcc-13"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.04"
# b2-toolset: "gcc"
# is-latest: true
# name: "GCC 13: C++17-20 (coverage)"
# coverage: true
# build-type: "Debug"
# cxxflags: "--coverage -fprofile-arcs -ftest-coverage"
# ccflags: "--coverage -fprofile-arcs -ftest-coverage"
# install: "lcov wget unzip"
# - compiler: "gcc"
# version: "13"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "g++-13"
# cc: "gcc-13"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.04"
# b2-toolset: "gcc"
# is-latest: true
# name: "GCC 13: C++17-20 (shared)"
# shared: true
# build-type: "Release"
# build-cmake: true
# - compiler: "gcc"
# version: "13"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "g++-13"
# cc: "gcc-13"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.04"
# b2-toolset: "gcc"
# is-latest: true
# name: "GCC 13: C++17-20 (shared, x86)"
# shared: true
# x86: true
# build-type: "Release"
# install: "gcc-13-multilib g++-13-multilib"
# build-cmake: true
# - compiler: "gcc"
# version: "13"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "g++-13"
# cc: "gcc-13"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.04"
# b2-toolset: "gcc"
# is-latest: true
# name: "GCC 13: C++17-20 (asan)"
# asan: true
# build-type: "RelWithDebInfo"
# - compiler: "gcc"
# version: "13"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "g++-13"
# cc: "gcc-13"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.04"
# b2-toolset: "gcc"
# is-latest: true
# name: "GCC 13: C++17-20 (asan, x86)"
# asan: true
# x86: true
# build-type: "RelWithDebInfo"
# install: "gcc-13-multilib g++-13-multilib"
# - compiler: "gcc"
# version: "13"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "g++-13"
# cc: "gcc-13"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.04"
# b2-toolset: "gcc"
# is-latest: true
# name: "GCC 13: C++17-20 (ubsan)"
# ubsan: true
# build-type: "RelWithDebInfo"
# - compiler: "gcc"
# version: "13"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "g++-13"
# cc: "gcc-13"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.04"
# b2-toolset: "gcc"
# is-latest: true
# name: "GCC 13: C++17-20 (ubsan, x86)"
# ubsan: true
# x86: true
# build-type: "RelWithDebInfo"
# install: "gcc-13-multilib g++-13-multilib"
# - compiler: "gcc"
# version: "12"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "g++-12"
# cc: "gcc-12"
# runs-on: "ubuntu-latest"
# container: "ubuntu:22.04"
# b2-toolset: "gcc"
# name: "GCC 12: C++17-20"
# build-type: "Release"
# - compiler: "gcc"
# version: "11"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "g++-11"
# cc: "gcc-11"
# runs-on: "ubuntu-latest"
# container: "ubuntu:22.04"
# b2-toolset: "gcc"
# name: "GCC 11: C++17-20"
# build-type: "Release"
# - compiler: "gcc"
# version: "10"
# cxxstd: "14,17"
# latest-cxxstd: "17"
# cxx: "g++-10"
# cc: "gcc-10"
# runs-on: "ubuntu-latest"
# container: "ubuntu:20.04"
# b2-toolset: "gcc"
# name: "GCC 10: C++14-17"
# build-type: "Release"
# - compiler: "gcc"
# version: "9"
# cxxstd: "14,17"
# latest-cxxstd: "17"
# cxx: "g++-9"
# cc: "gcc-9"
# runs-on: "ubuntu-latest"
# container: "ubuntu:20.04"
# b2-toolset: "gcc"
# name: "GCC 9: C++14-17"
# build-type: "Release"
# - compiler: "gcc"
# version: "8"
# cxxstd: "14,17"
# latest-cxxstd: "17"
# cxx: "g++-8"
# cc: "gcc-8"
# runs-on: "ubuntu-latest"
# container: "ubuntu:20.04"
# b2-toolset: "gcc"
# name: "GCC 8: C++14-17"
# build-type: "Release"
# - compiler: "gcc"
# version: "7"
# cxxstd: "14,17"
# latest-cxxstd: "17"
# cxx: "g++-7"
# cc: "gcc-7"
# runs-on: "ubuntu-latest"
# container: "ubuntu:20.04"
# b2-toolset: "gcc"
# name: "GCC 7: C++14-17"
# build-type: "Release"
# - compiler: "gcc"
# version: "6"
# cxxstd: "11,14"
# latest-cxxstd: "14"
# cxx: "g++-6"
# cc: "gcc-6"
# runs-on: "ubuntu-latest"
# container: "ubuntu:18.04"
# b2-toolset: "gcc"
# name: "GCC 6: C++11-14"
# build-type: "Release"
# - compiler: "gcc"
# version: "5"
# cxxstd: "11"
# latest-cxxstd: "11"
# cxx: "g++-5"
# cc: "gcc-5"
# runs-on: "ubuntu-latest"
# container: "ubuntu:18.04"
# b2-toolset: "gcc"
# is-earliest: true
# name: "GCC 5: C++11"
# build-type: "Release"
# - compiler: "clang"
# version: "17"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "clang++-17"
# cc: "clang-17"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.10"
# b2-toolset: "clang"
# is-latest: true
# name: "Clang 17: C++17-20"
# build-type: "Release"
# build-cmake: true
# - compiler: "clang"
# version: "17"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "clang++-17"
# cc: "clang-17"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.10"
# b2-toolset: "clang"
# is-latest: true
# name: "Clang 17: C++17-20 (x86)"
# x86: true
# build-type: "Release"
# install: "gcc-multilib g++-multilib"
# - compiler: "clang"
# version: "17"
# cxxstd: "20"
# latest-cxxstd: "20"
# cxx: "clang++-17"
# cc: "clang-17"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.10"
# b2-toolset: "clang"
# is-latest: true
# name: "Clang 17: C++20 (time-trace)"
# time-trace: true
# build-type: "Release"
# cxxflags: "-ftime-trace"
# ccflags: "-ftime-trace"
# install: "wget unzip"
# - compiler: "clang"
# version: "17"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "clang++-17"
# cc: "clang-17"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.10"
# b2-toolset: "clang"
# is-latest: true
# name: "Clang 17: C++17-20 (asan)"
# asan: true
# build-type: "RelWithDebInfo"
# - compiler: "clang"
# version: "17"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "clang++-17"
# cc: "clang-17"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.10"
# b2-toolset: "clang"
# is-latest: true
# name: "Clang 17: C++17-20 (asan, x86)"
# asan: true
# x86: true
# build-type: "RelWithDebInfo"
# install: "gcc-multilib g++-multilib"
# - compiler: "clang"
# version: "17"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "clang++-17"
# cc: "clang-17"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.10"
# b2-toolset: "clang"
# is-latest: true
# name: "Clang 17: C++17-20 (ubsan)"
# ubsan: true
# build-type: "RelWithDebInfo"
# - compiler: "clang"
# version: "17"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "clang++-17"
# cc: "clang-17"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.10"
# b2-toolset: "clang"
# is-latest: true
# name: "Clang 17: C++17-20 (ubsan, x86)"
# ubsan: true
# x86: true
# build-type: "RelWithDebInfo"
# install: "gcc-multilib g++-multilib"
# - compiler: "clang"
# version: "16"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "clang++-16"
# cc: "clang-16"
# runs-on: "ubuntu-latest"
# container: "ubuntu:23.04"
# b2-toolset: "clang"
# name: "Clang 16: C++17-20"
# build-type: "Release"
# - compiler: "clang"
# version: "15"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "clang++-15"
# cc: "clang-15"
# runs-on: "ubuntu-latest"
# container: "ubuntu:22.04"
# b2-toolset: "clang"
# name: "Clang 15: C++17-20"
# build-type: "Release"
# - compiler: "clang"
# version: "14"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "clang++-14"
# cc: "clang-14"
# runs-on: "ubuntu-latest"
# container: "ubuntu:22.04"
# b2-toolset: "clang"
# name: "Clang 14: C++17-20"
# build-type: "Release"
# - compiler: "clang"
# version: "13"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "clang++-13"
# cc: "clang-13"
# runs-on: "ubuntu-latest"
# container: "ubuntu:22.04"
# b2-toolset: "clang"
# name: "Clang 13: C++17-20"
# build-type: "Release"
# - compiler: "clang"
# version: "12"
# cxxstd: "17,20"
# latest-cxxstd: "20"
# cxx: "clang++-12"
# cc: "clang-12"
# runs-on: "ubuntu-latest"
# container: "ubuntu:22.04"
# b2-toolset: "clang"
# name: "Clang 12: C++17-20"
# build-type: "Release"
# - compiler: "clang"
# version: "11"
# cxxstd: "14,17"
# latest-cxxstd: "17"
# cxx: "clang++-11"
# cc: "clang-11"
# runs-on: "ubuntu-latest"
# container: "ubuntu:22.04"
# b2-toolset: "clang"
# name: "Clang 11: C++14-17"
# build-type: "Release"
# - compiler: "clang"
# version: "10"
# cxxstd: "14,17"
# latest-cxxstd: "17"
# cxx: "clang++-10"
# cc: "clang-10"
# runs-on: "ubuntu-latest"
# container: "ubuntu:20.04"
# b2-toolset: "clang"
# name: "Clang 10: C++14-17"
# build-type: "Release"
# - compiler: "clang"
# version: "9"
# cxxstd: "14,17"
# latest-cxxstd: "17"
# cxx: "clang++-9"
# cc: "clang-9"
# runs-on: "ubuntu-latest"
# container: "ubuntu:20.04"
# b2-toolset: "clang"
# name: "Clang 9: C++14-17"
# build-type: "Release"
# - compiler: "clang"
# version: "8"
# cxxstd: "14,17"
# latest-cxxstd: "17"
# cxx: "clang++-8"
# cc: "clang-8"
# runs-on: "ubuntu-latest"
# container: "ubuntu:20.04"
# b2-toolset: "clang"
# name: "Clang 8: C++14-17"
# build-type: "Release"
# - compiler: "clang"
# version: "7"
# cxxstd: "14,17"
# latest-cxxstd: "17"
# cxx: "clang++-7"
# cc: "clang-7"
# runs-on: "ubuntu-latest"
# container: "ubuntu:20.04"
# b2-toolset: "clang"
# name: "Clang 7: C++14-17"
# build-type: "Release"
# - compiler: "clang"
# version: "6"
# cxxstd: "14,17"
# latest-cxxstd: "17"
# cxx: "clang++-6.0"
# cc: "clang-6.0"
# runs-on: "ubuntu-latest"
# container: "ubuntu:20.04"
# b2-toolset: "clang"
# name: "Clang 6: C++14-17"
# build-type: "Release"
# - compiler: "clang"
# version: "5"
# cxxstd: "11,14"
# latest-cxxstd: "14"
# cxx: "clang++-5.0"
# cc: "clang-5.0"
# runs-on: "ubuntu-latest"
# container: "ubuntu:18.04"
# b2-toolset: "clang"
# name: "Clang 5: C++11-14"
# build-type: "Release"
# - compiler: "clang"
# version: "4"
# cxxstd: "11,14"
# latest-cxxstd: "14"
# cxx: "clang++-4.0"
# cc: "clang-4.0"
# runs-on: "ubuntu-latest"
# container: "ubuntu:18.04"
# b2-toolset: "clang"
# name: "Clang 4: C++11-14"
# build-type: "Release"
# - compiler: "clang"
# version: "^3.8"
# cxxstd: "11"
# latest-cxxstd: "11"
# cxx: "clang++-3.8"
# cc: "clang-3.8"
# runs-on: "ubuntu-latest"
# container: "ubuntu:16.04"
# b2-toolset: "clang"
# is-earliest: true
# name: "Clang ^3.8: C++11"
# build-type: "Release"
# name: ${{ matrix.name }}
# runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)[matrix.runs-on] }}
# container: ${{ matrix.container }}
# timeout-minutes: 120
# steps:
# - name: Clone Boost.Buffers
# uses: actions/checkout@v3
# with:
# path: buffers-root
# - name: Setup C++
# uses: alandefreitas/cpp-actions/[email protected]
# id: setup-cpp
# with:
# compiler: ${{ matrix.compiler }}
# version: ${{ matrix.version }}
# check-latest: ${{ matrix.compiler != 'clang' || matrix.version != '^3.8' }}
# trace-commands: true
# - name: Install packages
# uses: alandefreitas/cpp-actions/[email protected]
# id: package-install
# with:
# apt-get: >-
# ${{ matrix.install }}
# build-essential
# - name: Clone Boost
# uses: alandefreitas/cpp-actions/[email protected]
# id: boost-clone
# with:
# branch: ${{ (github.ref_name == 'master' && github.ref_name) || 'develop' }}
# boost-dir: boost-source
# scan-modules-dir: buffers-root
# scan-modules-ignore: buffers
# trace-commands: true
# - name: Patch Boost
# id: patch
# shell: bash
# run: |
# set -xe
# pwd
# ls
# ls -lah boost-source
# # Identify boost module being tested
# module=${GITHUB_REPOSITORY#*/}
# echo "module=$module" >> $GITHUB_OUTPUT
# # Identify GitHub workspace root
# workspace_root=$(echo "$GITHUB_WORKSPACE" | sed 's/\\/\//g')
# echo -E "workspace_root=$workspace_root" >> $GITHUB_OUTPUT
# # Remove module from boost-source
# rm -r "boost-source/libs/$module" || true
# # Copy cached boost-source to an isolated boost-root
# cp -r boost-source boost-root
# # Set boost-root output
# cd boost-root
# boost_root="$(pwd)"
# boost_root=$(echo "$boost_root" | sed 's/\\/\//g')
# echo -E "boost_root=$boost_root" >> $GITHUB_OUTPUT
# # Patch boost-root with workspace module
# cp -r "$workspace_root"/buffers-root "libs/$module"
# - name: Boost B2 Workflow
# uses: alandefreitas/cpp-actions/[email protected]
# if: ${{ !matrix.coverage && !matrix.time-trace }}
# with:
# source-dir: boost-root
# modules: buffers
# toolset: ${{ matrix.b2-toolset }}
# build-variant: ${{ matrix.build-type }}
# cxx: ${{ steps.setup-cpp.outputs.cxx || matrix.cxx || '' }}
# cxxstd: ${{ matrix.cxxstd }}
# address-model: ${{ (matrix.x86 && '32') || '64' }}
# asan: ${{ matrix.asan }}
# ubsan: ${{ matrix.ubsan }}
# shared: ${{ matrix.shared }}
# rtti: ${{ (matrix.is-latest && 'on,off') || 'on' }}
# cxxflags: ${{ (matrix.asan && '-fsanitize=pointer-subtract') || '' }}
# stop-on-error: true
# - name: Boost CMake Workflow
# uses: alandefreitas/cpp-actions/[email protected]
# if: ${{ matrix.coverage || matrix.time-trace || matrix.build-cmake || matrix.is-earliest }}
# with:
# source-dir: boost-root
# build-dir: __build_cmake_test__
# generator: ${{ matrix.generator }}
# generator-toolset: ${{ matrix.generator-toolset }}
# build-type: ${{ matrix.build-type }}
# run-tests: true
# install-prefix: .local
# cxxstd: ${{ matrix.latest-cxxstd }}
# cc: ${{ steps.setup-cpp.outputs.cc || matrix.cc }}
# ccflags: ${{ matrix.ccflags }}
# cxx: ${{ steps.setup-cpp.outputs.cxx || matrix.cxx }}
# cxxflags: ${{ matrix.cxxflags }}
# shared: ${{ matrix.shared }}
# cmake-version: '>=3.15'
# extra-args: |
# -D Boost_VERBOSE=ON
# -D BOOST_INCLUDE_LIBRARIES="${{ steps.patch.outputs.module }}"
# -D BOOST_BUFFERS_BUILD_TESTS=ON
# export-compile-commands: ${{ matrix.time-trace }}
# package: false
# package-artifact: false
# ref-source-dir: boost-root/libs/buffers
# - name: Set Path
# if: startsWith(matrix.runs-on, 'windows') && matrix.shared
# run: echo "$GITHUB_WORKSPACE/.local/bin" >> $GITHUB_PATH
# - name: Set LD_LIBRARY_PATH
# if: startsWith(matrix.runs-on, 'ubuntu') && matrix.shared
# run: |
# echo "LD_LIBRARY_PATH=$GITHUB_WORKSPACE/.local/lib:$LD_LIBRARY_PATH" >> "$GITHUB_ENV"
# - name: Find Package Integration Workflow
# uses: alandefreitas/cpp-actions/[email protected]
# if: ${{ matrix.build-cmake || matrix.is-earliest }}
# with:
# source-dir: boost-root/libs/${{ steps.patch.outputs.module }}/test/cmake_test
# build-dir: __build_cmake_install_test__
# generator: ${{ matrix.generator }}
# generator-toolset: ${{ matrix.generator-toolset }}
# build-type: ${{ matrix.build-type }}
# cxxstd: ${{ matrix.latest-cxxstd }}
# cc: ${{ steps.setup-cpp.outputs.cc || matrix.cc }}
# ccflags: ${{ matrix.ccflags }}
# cxx: ${{ steps.setup-cpp.outputs.cxx || matrix.cxx }}
# cxxflags: ${{ matrix.cxxflags }}
# shared: ${{ matrix.shared }}
# install: false
# cmake-version: '>=3.15'
# extra-args: |
# -D BOOST_CI_INSTALL_TEST=ON
# -D CMAKE_PREFIX_PATH=${{ steps.patch.outputs.workspace_root }}/.local
# ref-source-dir: boost-root/libs/buffers
# trace-commands: true
# - name: Subdirectory Integration Workflow
# uses: alandefreitas/cpp-actions/[email protected]
# if: ${{ matrix.build-cmake || matrix.is-earliest }}
# with:
# source-dir: boost-root/libs/${{ steps.patch.outputs.module }}/test/cmake_test
# build-dir: __build_cmake_subdir_test__
# generator: ${{ matrix.generator }}
# generator-toolset: ${{ matrix.generator-toolset }}
# build-type: ${{ matrix.build-type }}
# cxxstd: ${{ matrix.latest-cxxstd }}
# cc: ${{ steps.setup-cpp.outputs.cc || matrix.cc }}
# ccflags: ${{ matrix.ccflags }}
# cxx: ${{ steps.setup-cpp.outputs.cxx || matrix.cxx }}
# cxxflags: ${{ matrix.cxxflags }}
# shared: ${{ matrix.shared }}
# install: false
# cmake-version: '>=3.15'
# extra-args: -D BOOST_CI_INSTALL_TEST=OFF
# ref-source-dir: boost-root/libs/buffers/test/cmake_test
# - name: Root Project CMake Workflow
# uses: alandefreitas/cpp-actions/[email protected]
# if: ${{ matrix.build-cmake || matrix.is-earliest }}
# with:
# source-dir: boost-root/libs/${{ steps.patch.outputs.module }}
# build-dir: __build_root_test__
# generator: ${{ matrix.generator }}
# generator-toolset: ${{ matrix.generator-toolset }}
# build-type: ${{ matrix.build-type }}
# run-tests: false
# install: false
# cxxstd: ${{ matrix.latest-cxxstd }}
# cc: ${{ steps.setup-cpp.outputs.cc || matrix.cc }}
# ccflags: ${{ matrix.ccflags }}
# cxx: ${{ steps.setup-cpp.outputs.cxx || matrix.cxx }}
# cxxflags: ${{ matrix.cxxflags }}
# shared: ${{ matrix.shared }}
# extra-args: -D Boost_VERBOSE=ON -D BUILD_TESTING=ON -D BOOST_SRC_DIR="../boost-root"
# cmake-version: '>=3.15'
# package: false
# package-artifact: false
# ref-source-dir: boost-root
# - name: FlameGraph
# uses: alandefreitas/cpp-actions/[email protected]
# if: matrix.time-trace
# with:
# source-dir: boost-root/libs/buffers
# build-dir: boost-root/__build_cmake_test__
# github_token: ${{ secrets.GITHUB_TOKEN }}
# - name: Codecov
# if: ${{ matrix.coverage }}
# run: |
# set -x
# # Generate report
# gcov_tool="gcov"
# if command -v "gcov-${{ steps.setup-cpp.outputs.version-major }}.${{ steps.setup-cpp.outputs.version-minor }}" &> /dev/null; then
# gcov_tool="gcov"
# elif command -v "gcov-${{ steps.setup-cpp.outputs.version-major }}" &> /dev/null; then
# gcov_tool="gcov-${{ steps.setup-cpp.outputs.version-major }}"
# fi
# lcov -c -q -o "boost-root/__build_cmake_test__/coverage.info" -d "boost-root/__build_cmake_test__" --include "$(pwd)/boost-root/libs/${{steps.patch.outputs.module}}/*" --gcov-tool "$gcov_tool"
# # Upload to codecov
# bash <(curl -s https://codecov.io/bash) -f "boost-root/__build_cmake_test__/coverage.info"
# # Summary
# echo "# Coverage" >> $GITHUB_STEP_SUMMARY
# echo "" >> $GITHUB_STEP_SUMMARY
# echo "[![codecov](https://codecov.io/github/$GITHUB_REPOSITORY/commit/$GITHUB_SHA/graphs/sunburst.svg)](https://codecov.io/github/$GITHUB_REPOSITORY/commit/$GITHUB_SHA)" >> $GITHUB_STEP_SUMMARY
# echo "" >> $GITHUB_STEP_SUMMARY
# echo "" >> $GITHUB_STEP_SUMMARY
# echo "Commit: [![codecov](https://codecov.io/github/$GITHUB_REPOSITORY/commit/$GITHUB_SHA/graph/badge.svg)](https://codecov.io/github/$GITHUB_REPOSITORY/commit/$GITHUB_SHA)" >> $GITHUB_STEP_SUMMARY
# echo "" >> $GITHUB_STEP_SUMMARY
# echo "Branch: [![codecov](https://codecov.io/github/$GITHUB_REPOSITORY/branch/$GITHUB_REF_NAME/graph/badge.svg)](https://codecov.io/github/$GITHUB_REPOSITORY/commit/$GITHUB_SHA)" >> $GITHUB_STEP_SUMMARY
# echo "" >> $GITHUB_STEP_SUMMARY
# changelog:
# needs: [ runner-selection ]
# defaults:
# run:
# shell: bash
# name: Changelog Summary
# runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)['ubuntu-22.04'] }}
# timeout-minutes: 120
# steps:
# - name: Clone Boost.Buffers
# uses: actions/checkout@v3
# with:
# # Avoid the common API rate limit exceeded error in boostorg by including 100 latest commits in any case
# fetch-depth: 100
# - name: Changelog
# uses: alandefreitas/cpp-actions/[email protected]
# with:
# thank-non-regular: ${{ startsWith(github.ref, 'refs/tags/') }}
# github-token: ${{ secrets.GITHUB_TOKEN }}
# limit: 200
# tag-pattern: 'boost-.*\..*\..*'
# antora-linux:
# name: Antora Docs Linux
# needs: [ runner-selection ]
# runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)['ubuntu-latest'] }}
# steps:
# - name: Clone Boost.Buffers
# uses: actions/checkout@v3
# - uses: actions/setup-node@v3
# with:
# node-version: 18
# - name: Setup C++
# uses: alandefreitas/cpp-actions/[email protected]
# id: setup-cpp
# with:
# compiler: clang
# version: 17
# - name: Build Antora Docs
# run: |
# cd doc
# bash ./build_antora.sh
# - name: Create Antora Docs Artifact
# uses: actions/upload-artifact@v3
# with:
# name: antora-docs
# path: doc/build/site
antora-windows:
name: Antora Docs Windows
needs: [ runner-selection ]
runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)['windows-latest'] }}
steps:
- name: Clone Boost.Buffers
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Build Antora Docs
run: |
cd doc
./build_antora.bat