Update doc scripts #44
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# 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 |