From cdadfc4bf4a7c33f4f92b7b1c490bcf8812d3874 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 11 Mar 2024 08:38:16 -0500 Subject: [PATCH 01/21] Make the library modular usable. --- build.jam | 28 ++++++++++++++++++++++++++++ factory/test/Jamfile | 4 ++++ 2 files changed, 32 insertions(+) create mode 100644 build.jam diff --git a/build.jam b/build.jam new file mode 100644 index 000000000..b06048adb --- /dev/null +++ b/build.jam @@ -0,0 +1,28 @@ +# Copyright René Ferdinand Rivera Morell 2023 +# 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) + +import project ; + +project /boost/functional + : common-requirements + /boost/config//boost_config + /boost/core//boost_core + /boost/function//boost_function + /boost/function_types//boost_function_types + /boost/mpl//boost_mpl + /boost/preprocessor//boost_preprocessor + /boost/type_traits//boost_type_traits + /boost/typeof//boost_typeof + /boost/utility//boost_utility + include + ; + +explicit + [ alias boost_functional ] + [ alias all : boost_functional test factory/test forward/test overloaded_function/test ] + ; + +call-if : boost-library functional + ; diff --git a/factory/test/Jamfile b/factory/test/Jamfile index 7030e9392..b8f740cfd 100644 --- a/factory/test/Jamfile +++ b/factory/test/Jamfile @@ -8,6 +8,10 @@ import testing ; +project : requirements + /boost/smart_ptr//boost_smart_ptr + ; + run value_factory.cpp ; run value_factory_args.cpp ; run value_factory_move.cpp ; From f607045e36ff8530b8e336f968d28cafa0fadb77 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 29 Mar 2024 21:15:58 -0500 Subject: [PATCH 02/21] Switch to library requirements instead of source. As source puts extra source in install targets. --- build.jam | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/build.jam b/build.jam index b06048adb..dc84ef74c 100644 --- a/build.jam +++ b/build.jam @@ -7,15 +7,15 @@ import project ; project /boost/functional : common-requirements - /boost/config//boost_config - /boost/core//boost_core - /boost/function//boost_function - /boost/function_types//boost_function_types - /boost/mpl//boost_mpl - /boost/preprocessor//boost_preprocessor - /boost/type_traits//boost_type_traits - /boost/typeof//boost_typeof - /boost/utility//boost_utility + /boost/config//boost_config + /boost/core//boost_core + /boost/function//boost_function + /boost/function_types//boost_function_types + /boost/mpl//boost_mpl + /boost/preprocessor//boost_preprocessor + /boost/type_traits//boost_type_traits + /boost/typeof//boost_typeof + /boost/utility//boost_utility include ; From 02fea9932bae481ca2fc8468ff5de5b5c0e4fa63 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 13 Apr 2024 16:19:07 -0500 Subject: [PATCH 03/21] Remove relative references to boost-root in Jamfiles. --- overloaded_function/doc/Jamfile.v2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/overloaded_function/doc/Jamfile.v2 b/overloaded_function/doc/Jamfile.v2 index 3bcf69b4f..ffecd0e57 100644 --- a/overloaded_function/doc/Jamfile.v2 +++ b/overloaded_function/doc/Jamfile.v2 @@ -9,8 +9,8 @@ import quickbook ; using boostbook ; doxygen reference - : ../../../../boost/functional/overloaded_function.hpp - ../../../../boost/functional/overloaded_function/config.hpp + : ../../include/boost/functional/overloaded_function.hpp + ../../include/boost/functional/overloaded_function/config.hpp : "Reference" PREDEFINED="DOXYGEN" QUIET=YES From 0ac582116f807e4cc1b71cb1ba4fd65d016be50a Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 09:00:01 -0500 Subject: [PATCH 04/21] Add requires-b2 check to top-level build file. --- build.jam | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.jam b/build.jam index dc84ef74c..340e714df 100644 --- a/build.jam +++ b/build.jam @@ -3,6 +3,8 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +require-b2 5.1 ; + import project ; project /boost/functional From 3db9b215ca65251ef1b1b3021e1f55c8ac5898b3 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 14 Jun 2024 11:33:55 -0500 Subject: [PATCH 05/21] Bump B2 require to 5.2 --- build.jam | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build.jam b/build.jam index 340e714df..fd2e2cdec 100644 --- a/build.jam +++ b/build.jam @@ -3,9 +3,7 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -require-b2 5.1 ; - -import project ; +require-b2 5.2 ; project /boost/functional : common-requirements From 51644892a6336faabb2d3d1c53a39b75fadbdc5c Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 19:39:25 -0500 Subject: [PATCH 06/21] Change all references to . --- factory/test/Jamfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/factory/test/Jamfile b/factory/test/Jamfile index b8f740cfd..59677dd4b 100644 --- a/factory/test/Jamfile +++ b/factory/test/Jamfile @@ -9,7 +9,7 @@ import testing ; project : requirements - /boost/smart_ptr//boost_smart_ptr + /boost/smart_ptr//boost_smart_ptr ; run value_factory.cpp ; From c0fb2f7bc0be6522dd53eaa1f4cc8b47050883af Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 22:52:03 -0500 Subject: [PATCH 07/21] Update copyright dates. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index fd2e2cdec..2bf489954 100644 --- a/build.jam +++ b/build.jam @@ -1,4 +1,4 @@ -# Copyright René Ferdinand Rivera Morell 2023 +# Copyright René Ferdinand Rivera Morell 2023-2024 # 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) From 0753726d0b3e943c871fe9bc0629950502f84393 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 23 Jul 2024 22:34:22 -0500 Subject: [PATCH 08/21] Move inter-lib dependencies to a project variable and into the build targets. --- build.jam | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/build.jam b/build.jam index 2bf489954..0a597eb37 100644 --- a/build.jam +++ b/build.jam @@ -5,24 +5,27 @@ require-b2 5.2 ; +constant boost_dependencies : + /boost/config//boost_config + /boost/core//boost_core + /boost/function//boost_function + /boost/function_types//boost_function_types + /boost/mpl//boost_mpl + /boost/preprocessor//boost_preprocessor + /boost/type_traits//boost_type_traits + /boost/typeof//boost_typeof + /boost/utility//boost_utility ; + project /boost/functional : common-requirements - /boost/config//boost_config - /boost/core//boost_core - /boost/function//boost_function - /boost/function_types//boost_function_types - /boost/mpl//boost_mpl - /boost/preprocessor//boost_preprocessor - /boost/type_traits//boost_type_traits - /boost/typeof//boost_typeof - /boost/utility//boost_utility include ; explicit - [ alias boost_functional ] + [ alias boost_functional : : : : $(boost_dependencies) ] [ alias all : boost_functional test factory/test forward/test overloaded_function/test ] ; call-if : boost-library functional ; + From 1b43ace4e9134560c1ca222ece79a20ba0885c7b Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 3 Aug 2024 12:12:29 -0500 Subject: [PATCH 09/21] Update build deps. --- factory/test/Jamfile | 1 + forward/test/Jamfile | 3 ++- overloaded_function/test/Jamfile.v2 | 4 +++- test/Jamfile.v2 | 2 ++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/factory/test/Jamfile b/factory/test/Jamfile index 59677dd4b..e424883b6 100644 --- a/factory/test/Jamfile +++ b/factory/test/Jamfile @@ -9,6 +9,7 @@ import testing ; project : requirements + /boost/functional//boost_functional /boost/smart_ptr//boost_smart_ptr ; diff --git a/forward/test/Jamfile b/forward/test/Jamfile index 9169456d9..5a156418a 100644 --- a/forward/test/Jamfile +++ b/forward/test/Jamfile @@ -6,7 +6,8 @@ import testing ; -project forward-tests +project forward-tests : requirements + /boost/functional//boost_functional ; test-suite functional/forward diff --git a/overloaded_function/test/Jamfile.v2 b/overloaded_function/test/Jamfile.v2 index 3871ee578..a93b90a97 100644 --- a/overloaded_function/test/Jamfile.v2 +++ b/overloaded_function/test/Jamfile.v2 @@ -8,7 +8,9 @@ import testing ; # Sun does not automatically detect type-of emulation (force it). -project : requirements sun:BOOST_TYPEOF_EMULATION ; +project : requirements sun:BOOST_TYPEOF_EMULATION + /boost/functional//boost_functional + ; run functor.cpp ; run make_decl.cpp ; diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index dbe379c0c..e492db6d5 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -4,6 +4,8 @@ import testing ; +project : requirements /boost/functional//boost_functional ; + test-suite functional : [ run function_test.cpp ] ; From 1cdaa60cd355019594c1bb542f278f8c0756c159 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 6 Apr 2025 08:19:40 -0500 Subject: [PATCH 10/21] Replace GHA CI with simpler working one based on alandefreitas/cpp-actions utilities. --- .github/workflows/ci.yml | 608 +++++++-------------------------------- 1 file changed, 102 insertions(+), 506 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9b4c84df8..9dcdf0d7a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,519 +12,115 @@ on: - pr/** jobs: - posix: + cpp-matrix: + runs-on: ubuntu-latest + name: Generate Test Matrix + outputs: + matrix: ${{ steps.cpp-matrix.outputs.matrix }} + steps: + - name: Generate Test Matrix + uses: alandefreitas/cpp-actions/cpp-matrix@master + id: cpp-matrix + with: + extra-values: | + boost-lib: functional + scan-dirs: test + compilers: | + gcc >= 4.8 + clang >= 3.5 + msvc >= 14.1 + apple-clang * + mingw * + clang-cl * + standards: ">=11" + latest-factors: | + gcc Asan TSan UBSan + clang BoundsSan IntSan + factors: | + gcc Shared + msvc Shared x86 + mingw Shared + subrange-policy: one-per-minor + trace-commands: true + build: + needs: cpp-matrix strategy: fail-fast: false matrix: - include: - - name: "TOOLSET=gcc COMPILER=g++ CXXSTD=03,11 Job 0" - buildtype: "boost" - packages: "" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "g++" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++" - cxxstd: "03,11" - - name: "TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x Job 1" - buildtype: "boost" - packages: "g++-4.4" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "g++" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-4.4" - cxxstd: "98,0x" - - name: "TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x Job 2" - buildtype: "boost" - packages: "g++-4.6" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "g++" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-4.6" - cxxstd: "03,0x" - - name: "TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 Job 3" - buildtype: "boost" - packages: "g++-4.7" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "g++-4.7" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-4.7" - cxxstd: "03,11" - - name: "TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 Job 4" - buildtype: "boost" - packages: "g++-4.8" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "g++-4.8" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-4.8" - cxxstd: "03,11" - - name: "TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 Job 5" - buildtype: "boost" - packages: "g++-4.9" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "g++-4.9" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-4.9" - cxxstd: "03,11" - - name: "TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z Job 6" - buildtype: "boost" - packages: "g++-5" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "g++-5" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-5" - cxxstd: "03,11,14,1z" - - name: "TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z Job 7" - buildtype: "boost" - packages: "g++-6" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "g++-6" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-6" - cxxstd: "03,11,14,1z" - - name: "TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 Job 8" - buildtype: "boost" - packages: "g++-7" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "g++-7" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-7" - cxxstd: "03,11,14,17" - - name: "TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17 Job 9" - buildtype: "boost" - packages: "g++-8" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "g++-8" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-8" - cxxstd: "03,11,14,17,2a" - - name: "TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17 Job 10" - buildtype: "boost" - packages: "g++-9" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "g++-9" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-9" - cxxstd: "03,11,14,17,2a" - - name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 Job 11" - buildtype: "boost" - packages: "" - packages_to_remove: "" - os: "ubuntu-18.04" - cxx: "clang++" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "clang" - compiler: "clang++" - cxxstd: "03,11" - - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 12" - buildtype: "boost" - packages: "clang-3.3" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "/usr/bin/clang++" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "clang" - compiler: "/usr/bin/clang++" - cxxstd: "03,11" - - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 13" - buildtype: "boost" - packages: "clang-3.4" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "/usr/bin/clang++" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "clang" - compiler: "/usr/bin/clang++" - cxxstd: "03,11" - - name: "TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03, Job 14" - buildtype: "boost" - packages: "clang-3.5 libstdc++-4.9-dev" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "clang++-3.5" - sources: "" - llvm_os: "precise" - llvm_ver: "3.5" - toolset: "clang" - compiler: "clang++-3.5" - cxxstd: "03,11,14" - - name: "TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03, Job 15" - buildtype: "boost" - packages: "clang-3.6" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "clang++-3.6" - sources: "" - llvm_os: "precise" - llvm_ver: "3.6" - toolset: "clang" - compiler: "clang++-3.6" - cxxstd: "03,11,14" - - name: "TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03, Job 16" - buildtype: "boost" - packages: "clang-3.7" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "clang++-3.7" - sources: "" - llvm_os: "precise" - llvm_ver: "3.7" - toolset: "clang" - compiler: "clang++-3.7" - cxxstd: "03,11,14" - - name: "TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03, Job 17" - buildtype: "boost" - packages: "clang-3.8 libstdc++-4.9-dev" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "clang++-3.8" - sources: "" - llvm_os: "precise" - llvm_ver: "3.8" - toolset: "clang" - compiler: "clang++-3.8" - cxxstd: "03,11,14" - - name: "TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03, Job 18" - buildtype: "boost" - packages: "clang-3.9 libstdc++-4.9-dev" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "clang++-3.9" - sources: "" - llvm_os: "precise" - llvm_ver: "3.9" - toolset: "clang" - compiler: "clang++-3.9" - cxxstd: "03,11,14" - - name: "TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03, Job 19" - buildtype: "boost" - packages: "clang-4.0" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "clang++-4.0" - sources: "" - llvm_os: "trusty" - llvm_ver: "4.0" - toolset: "clang" - compiler: "clang++-4.0" - cxxstd: "03,11,14" - - name: "TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03, Job 20" - buildtype: "boost" - packages: "clang-5.0" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "clang++-5.0" - sources: "" - llvm_os: "trusty" - llvm_ver: "5.0" - toolset: "clang" - compiler: "clang++-5.0" - cxxstd: "03,11,14,1z" - - name: "TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03, Job 21" - buildtype: "boost" - packages: "clang-6.0" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:14.04" - cxx: "clang++-6.0" - sources: "" - llvm_os: "trusty" - llvm_ver: "6.0" - toolset: "clang" - compiler: "clang++-6.0" - cxxstd: "03,11,14,17,2a" - - name: "TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11 Job 22" - buildtype: "boost" - packages: "clang-7" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "clang++-7" - sources: "" - llvm_os: "xenial" - llvm_ver: "7" - toolset: "clang" - compiler: "clang++-7" - cxxstd: "03,11,14,17,2a" - - name: "TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11 Job 23" - buildtype: "boost" - packages: "clang-8" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "clang++-8" - sources: "" - llvm_os: "xenial" - llvm_ver: "8" - toolset: "clang" - compiler: "clang++-8" - cxxstd: "03,11,14,17,2a" - - name: "TOOLSET=clang COMPILER=clang++-libc++ CXXSTD= Job 24" - buildtype: "boost" - packages: " libc++-9-dev libc++abi-9-dev" - packages_to_remove: "libc++-dev libc++abi-dev" - os: "ubuntu-18.04" - cxx: "clang++-libc++" - sources: "" - llvm_os: "xenial" - llvm_ver: "9" - toolset: "clang" - compiler: "clang++-libc++" - cxxstd: "03,11,14,1z" + include: ${{ fromJSON(needs.cpp-matrix.outputs.matrix) }} - runs-on: ${{ matrix.os }} + # use matrix entries + name: ${{ matrix.name }} + runs-on: ${{ matrix.runs-on }} 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 != '' + # GitHub Actions no longer support older containers. + # The workaround is to install our own Node.js for the actions. + - name: Patch Node + # The containers that need Node.js 20 will have volumes set up so that + # the Node.js 20 installation can go there. + if: ${{ matrix.container.volumes }} run: | - 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 ruby cpio gcc-multilib g++-multilib pkgconf python3 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 - python_version=$(python3 -c 'import sys; print("{0.major}.{0.minor}".format(sys.version_info))') - sudo wget https://bootstrap.pypa.io/pip/$python_version/get-pip.py - sudo python3 get-pip.py - 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 }} - COMPILER: ${{ matrix.compiler }} - CXXSTD: ${{ matrix.cxxstd }} - TRAVIS_BRANCH: ${{ github.base_ref }} - TRAVIS_OS_NAME: "linux" - 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 '==================================> INSTALL' - - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true - cd .. - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost - cd boost - git submodule update --init tools/build - git submodule update --init libs/config - git submodule update --init tools/boostdep - mkdir -p libs/functional - cp -r $TRAVIS_BUILD_DIR/* libs/functional - python tools/boostdep/depinst/depinst.py -I forward/test -I factory/test -I overloaded_function/test functional - ./bootstrap.sh - ./b2 headers - - echo '==================================> SCRIPT' - - echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam - cd libs/functional - ../../b2 -j 3 test toolset=$TOOLSET cxxstd=$CXXSTD - ../../b2 -j 3 forward/test toolset=$TOOLSET cxxstd=$CXXSTD - ../../b2 -j 3 factory/test toolset=$TOOLSET cxxstd=$CXXSTD - ../../b2 -j 3 overloaded_function/test toolset=$TOOLSET cxxstd=$CXXSTD - - fi - osx: - strategy: - fail-fast: false - matrix: - include: - - name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,1 Job 25" - 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,14,1z" - - 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" + set -x + apt-get update + apt-get install -y curl xz-utils + curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz + tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217 + ldd /__e/node20/bin/node + + - name: Setup C++ Compiler + uses: alandefreitas/cpp-actions/setup-cpp@master + id: setup-cpp + with: + compiler: ${{ matrix.compiler }} + version: ${{ matrix.version }} + + - name: Install Packages + if: matrix.install != '' + uses: alandefreitas/cpp-actions/package-install@master + id: package-install + with: + apt-get: ${{ matrix.install }} + + - name: Clone Library + uses: actions/checkout@v4 + + - name: Clone Boost + uses: alandefreitas/cpp-actions/boost-clone@master + id: boost-clone + with: + branch: ${{ (github.ref_name == 'master' && github.ref_name) || 'develop' }} + boost-dir: ../boost-root + scan-modules-dir: . + scan-modules-ignore: ${{ matrix.boost-lib }} + modules-scan-paths: ${{ matrix.scan-dirs }} + cache: false + + - name: Copy Library 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 }} - COMPILER: ${{ matrix.compiler }} - CXXSTD: ${{ matrix.cxxstd }} - TRAVIS_BRANCH: ${{ github.base_ref }} - TRAVIS_OS_NAME: "osx" 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 '==================================> INSTALL' - - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true - cd .. - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost - cd boost - git submodule update --init tools/build - git submodule update --init libs/config - git submodule update --init tools/boostdep - mkdir -p libs/functional - cp -r $TRAVIS_BUILD_DIR/* libs/functional - python tools/boostdep/depinst/depinst.py -I forward/test -I factory/test -I overloaded_function/test functional - ./bootstrap.sh - ./b2 headers - - echo '==================================> SCRIPT' - - echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam - cd libs/functional - ../../b2 -j 3 test toolset=$TOOLSET cxxstd=$CXXSTD - ../../b2 -j 3 forward/test toolset=$TOOLSET cxxstd=$CXXSTD - ../../b2 -j 3 factory/test toolset=$TOOLSET cxxstd=$CXXSTD - ../../b2 -j 3 overloaded_function/test toolset=$TOOLSET cxxstd=$CXXSTD - - fi + workspace_root=$(echo "$GITHUB_WORKSPACE" | sed 's/\\/\//g') + cd ../boost-root + rm -rf "libs/${{ matrix.boost-lib }}" + mkdir "libs/${{ matrix.boost-lib }}" + cp -r "$workspace_root"/* "libs/${{ matrix.boost-lib }}" + + - name: B2 Workflow + uses: alandefreitas/cpp-actions/b2-workflow@master + with: + source-dir: ${{ steps.boost-clone.outputs.boost-dir }} + modules: ${{ matrix.boost-lib }} + toolset: ${{ matrix.b2-toolset }} + build-variant: ${{ matrix.build-type }} + cxx: ${{ steps.setup-cpp.outputs.cxx || '' }} + cxxstd: ${{ matrix.cxxstd }} + address-model: ${{ matrix.address-model }} + asan: ${{ matrix.asan }} + ubsan: ${{ matrix.ubsan }} + tsan: ${{ matrix.tsan }} + shared: ${{ matrix.shared }} + abbreviate-paths: false + hash: true + debug-configuration: true + trace-commands: true From ee4558efb70ca859bc95fe380db12d1a0529c694 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 7 Apr 2025 15:43:07 -0500 Subject: [PATCH 11/21] Move project global include to target local include. --- build.jam | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/build.jam b/build.jam index 0a597eb37..15faa37f2 100644 --- a/build.jam +++ b/build.jam @@ -17,15 +17,13 @@ constant boost_dependencies : /boost/utility//boost_utility ; project /boost/functional - : common-requirements - include ; explicit - [ alias boost_functional : : : : $(boost_dependencies) ] + [ alias boost_functional : : : + : include $(boost_dependencies) ] [ alias all : boost_functional test factory/test forward/test overloaded_function/test ] ; call-if : boost-library functional ; - From 350c95a21bf4fb83d321cd54e26878d9c5471d8f Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Wed, 9 Apr 2025 23:04:07 -0500 Subject: [PATCH 12/21] Only msvc gets minor version tests. --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9dcdf0d7a..9d7f5990a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,7 +40,8 @@ jobs: gcc Shared msvc Shared x86 mingw Shared - subrange-policy: one-per-minor + subrange-policy: | + msvc: one-per-minor trace-commands: true build: needs: cpp-matrix From 7a85bfa4437a922e75759fbfb0b23d184e0dc871 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 6 Jun 2025 18:45:23 -0500 Subject: [PATCH 13/21] Redo GHA CI to undo move to cpp-actions. --- .github/workflows/ci.yml | 585 ++++++++++++++++++++++++++++++++------- 1 file changed, 486 insertions(+), 99 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9d7f5990a..dddfb981b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,116 +12,503 @@ on: - pr/** jobs: - cpp-matrix: - runs-on: ubuntu-latest - name: Generate Test Matrix - outputs: - matrix: ${{ steps.cpp-matrix.outputs.matrix }} - steps: - - name: Generate Test Matrix - uses: alandefreitas/cpp-actions/cpp-matrix@master - id: cpp-matrix - with: - extra-values: | - boost-lib: functional - scan-dirs: test - compilers: | - gcc >= 4.8 - clang >= 3.5 - msvc >= 14.1 - apple-clang * - mingw * - clang-cl * - standards: ">=11" - latest-factors: | - gcc Asan TSan UBSan - clang BoundsSan IntSan - factors: | - gcc Shared - msvc Shared x86 - mingw Shared - subrange-policy: | - msvc: one-per-minor - trace-commands: true - build: - needs: cpp-matrix + posix: strategy: fail-fast: false matrix: - include: ${{ fromJSON(needs.cpp-matrix.outputs.matrix) }} + include: + - name: "TOOLSET=gcc COMPILER=g++ CXXSTD=03,11 Job 0" + buildtype: "boost" + packages: "" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "g++" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + compiler: "g++" + cxxstd: "03,11" + - name: "TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x Job 1" + buildtype: "boost" + packages: "g++-4.4" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "g++" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + compiler: "g++-4.4" + cxxstd: "98,0x" + - name: "TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x Job 2" + buildtype: "boost" + packages: "g++-4.6" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "g++" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + compiler: "g++-4.6" + cxxstd: "03,0x" + - name: "TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 Job 3" + buildtype: "boost" + packages: "g++-4.7" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "g++-4.7" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + compiler: "g++-4.7" + cxxstd: "03,11" + - name: "TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 Job 4" + buildtype: "boost" + packages: "g++-4.8" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "g++-4.8" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + compiler: "g++-4.8" + cxxstd: "03,11" + - name: "TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 Job 5" + buildtype: "boost" + packages: "g++-4.9" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "g++-4.9" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + compiler: "g++-4.9" + cxxstd: "03,11" + - name: "TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z Job 6" + buildtype: "boost" + packages: "g++-5" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "g++-5" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + compiler: "g++-5" + cxxstd: "03,11,14,1z" + - name: "TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z Job 7" + buildtype: "boost" + packages: "g++-6" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "g++-6" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + compiler: "g++-6" + cxxstd: "03,11,14,1z" + - name: "TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 Job 8" + buildtype: "boost" + packages: "g++-7" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "g++-7" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + compiler: "g++-7" + cxxstd: "03,11,14,17" + - name: "TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17 Job 9" + buildtype: "boost" + packages: "g++-8" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "g++-8" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + compiler: "g++-8" + cxxstd: "03,11,14,17,2a" + - name: "TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17 Job 10" + buildtype: "boost" + packages: "g++-9" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "g++-9" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + compiler: "g++-9" + cxxstd: "03,11,14,17,2a" + - name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 Job 11" + buildtype: "boost" + packages: "" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:18.04" + cxx: "clang++" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "clang" + compiler: "clang++" + cxxstd: "03,11" + - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 12" + buildtype: "boost" + packages: "clang-3.3" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "/usr/bin/clang++" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "clang" + compiler: "/usr/bin/clang++" + cxxstd: "03,11" + - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 13" + buildtype: "boost" + packages: "clang-3.4" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "/usr/bin/clang++" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "clang" + compiler: "/usr/bin/clang++" + cxxstd: "03,11" + - name: "TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03, Job 14" + buildtype: "boost" + packages: "clang-3.5 libstdc++-4.9-dev" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "clang++-3.5" + sources: "" + llvm_os: "precise" + llvm_ver: "3.5" + toolset: "clang" + compiler: "clang++-3.5" + cxxstd: "03,11,14" + - name: "TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03, Job 15" + buildtype: "boost" + packages: "clang-3.6" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "clang++-3.6" + sources: "" + llvm_os: "precise" + llvm_ver: "3.6" + toolset: "clang" + compiler: "clang++-3.6" + cxxstd: "03,11,14" + - name: "TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03, Job 16" + buildtype: "boost" + packages: "clang-3.7" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "clang++-3.7" + sources: "" + llvm_os: "precise" + llvm_ver: "3.7" + toolset: "clang" + compiler: "clang++-3.7" + cxxstd: "03,11,14" + - name: "TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03, Job 17" + buildtype: "boost" + packages: "clang-3.8 libstdc++-4.9-dev" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "clang++-3.8" + sources: "" + llvm_os: "precise" + llvm_ver: "3.8" + toolset: "clang" + compiler: "clang++-3.8" + cxxstd: "03,11,14" + - name: "TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03, Job 18" + buildtype: "boost" + packages: "clang-3.9 libstdc++-4.9-dev" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "clang++-3.9" + sources: "" + llvm_os: "precise" + llvm_ver: "3.9" + toolset: "clang" + compiler: "clang++-3.9" + cxxstd: "03,11,14" + - name: "TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03, Job 19" + buildtype: "boost" + packages: "clang-4.0" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "clang++-4.0" + sources: "" + llvm_os: "trusty" + llvm_ver: "4.0" + toolset: "clang" + compiler: "clang++-4.0" + cxxstd: "03,11,14" + - name: "TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03, Job 20" + buildtype: "boost" + packages: "clang-5.0" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "clang++-5.0" + sources: "" + llvm_os: "trusty" + llvm_ver: "5.0" + toolset: "clang" + compiler: "clang++-5.0" + cxxstd: "03,11,14,1z" + - name: "TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03, Job 21" + buildtype: "boost" + packages: "clang-6.0" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:14.04" + cxx: "clang++-6.0" + sources: "" + llvm_os: "trusty" + llvm_ver: "6.0" + toolset: "clang" + compiler: "clang++-6.0" + cxxstd: "03,11,14,17,2a" + - name: "TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11 Job 22" + buildtype: "boost" + packages: "clang-7" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "clang++-7" + sources: "" + llvm_os: "xenial" + llvm_ver: "7" + toolset: "clang" + compiler: "clang++-7" + cxxstd: "03,11,14,17,2a" + - name: "TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11 Job 23" + buildtype: "boost" + packages: "clang-8" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "clang++-8" + sources: "" + llvm_os: "xenial" + llvm_ver: "8" + toolset: "clang" + compiler: "clang++-8" + cxxstd: "03,11,14,17,2a" + - name: "TOOLSET=clang COMPILER=clang++-libc++ CXXSTD= Job 24" + buildtype: "boost" + packages: " libc++-9-dev libc++abi-9-dev" + packages_to_remove: "libc++-dev libc++abi-dev" + os: "ubuntu-latest" + container: "ubuntu-18.04" + cxx: "clang++-libc++" + sources: "" + llvm_os: "xenial" + llvm_ver: "9" + toolset: "clang" + compiler: "clang++-libc++" + cxxstd: "03,11,14,1z" - # use matrix entries - name: ${{ matrix.name }} - runs-on: ${{ matrix.runs-on }} - container: ${{ matrix.container }} + runs-on: ${{ matrix.os }} + container: + image: ${{matrix.container}} + volumes: + - /node20217:/node20217:rw,rshared + - ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }} steps: - # GitHub Actions no longer support older containers. - # The workaround is to install our own Node.js for the actions. - - name: Patch Node - # The containers that need Node.js 20 will have volumes set up so that - # the Node.js 20 installation can go there. - if: ${{ matrix.container.volumes }} + - name: Setup container environment + if: matrix.container run: | - set -x apt-get update - apt-get install -y curl xz-utils + apt-get -y install sudo python3 git g++ curl xz-utils + + - name: Install nodejs20glibc2.17 + if: ${{ startsWith( matrix.container, 'ubuntu:1' ) }} + run: | curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217 ldd /__e/node20/bin/node - - name: Setup C++ Compiler - uses: alandefreitas/cpp-actions/setup-cpp@master - id: setup-cpp - with: - compiler: ${{ matrix.compiler }} - version: ${{ matrix.version }} - - - name: Install Packages - if: matrix.install != '' - uses: alandefreitas/cpp-actions/package-install@master - id: package-install - with: - apt-get: ${{ matrix.install }} - - - name: Clone Library - uses: actions/checkout@v4 - - - name: Clone Boost - uses: alandefreitas/cpp-actions/boost-clone@master - id: boost-clone - with: - branch: ${{ (github.ref_name == 'master' && github.ref_name) || 'develop' }} - boost-dir: ../boost-root - scan-modules-dir: . - scan-modules-ignore: ${{ matrix.boost-lib }} - modules-scan-paths: ${{ matrix.scan-dirs }} - cache: false - - - name: Copy Library + - name: Install packages + if: matrix.packages + run: sudo apt-get -y install ${{matrix.packages}} + + - 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 }} + COMPILER: ${{ matrix.compiler }} + CXXSTD: ${{ matrix.cxxstd }} + TRAVIS_BRANCH: ${{ github.base_ref }} + TRAVIS_OS_NAME: "linux" + run: | + echo '==================================> SETUP' + + 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 '==================================> INSTALL' + + BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true + cd .. + git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost + cd boost + git submodule update --init tools/build + git submodule update --init libs/config + git submodule update --init tools/boostdep + mkdir -p libs/functional + cp -r $TRAVIS_BUILD_DIR/* libs/functional + python tools/boostdep/depinst/depinst.py -I forward/test -I factory/test -I overloaded_function/test functional + ./bootstrap.sh + ./b2 headers + + echo '==================================> SCRIPT' + + echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam + cd libs/functional + ../../b2 -j 3 test toolset=$TOOLSET cxxstd=$CXXSTD + ../../b2 -j 3 forward/test toolset=$TOOLSET cxxstd=$CXXSTD + ../../b2 -j 3 factory/test toolset=$TOOLSET cxxstd=$CXXSTD + ../../b2 -j 3 overloaded_function/test toolset=$TOOLSET cxxstd=$CXXSTD + + fi + osx: + strategy: + fail-fast: false + matrix: + include: + - name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,1 Job 25" + buildtype: "boost" + packages: "" + os: "macos-15" + cxx: "clang++" + sources: "" + llvm_os: "" + llvm_ver: "" + xcode_version: 11.7 + toolset: "clang" + compiler: "clang++" + cxxstd: "03,11,14,1z" + + 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 }} + COMPILER: ${{ matrix.compiler }} + CXXSTD: ${{ matrix.cxxstd }} + TRAVIS_BRANCH: ${{ github.base_ref }} + TRAVIS_OS_NAME: "osx" run: | - workspace_root=$(echo "$GITHUB_WORKSPACE" | sed 's/\\/\//g') - cd ../boost-root - rm -rf "libs/${{ matrix.boost-lib }}" - mkdir "libs/${{ matrix.boost-lib }}" - cp -r "$workspace_root"/* "libs/${{ matrix.boost-lib }}" - - - name: B2 Workflow - uses: alandefreitas/cpp-actions/b2-workflow@master - with: - source-dir: ${{ steps.boost-clone.outputs.boost-dir }} - modules: ${{ matrix.boost-lib }} - toolset: ${{ matrix.b2-toolset }} - build-variant: ${{ matrix.build-type }} - cxx: ${{ steps.setup-cpp.outputs.cxx || '' }} - cxxstd: ${{ matrix.cxxstd }} - address-model: ${{ matrix.address-model }} - asan: ${{ matrix.asan }} - ubsan: ${{ matrix.ubsan }} - tsan: ${{ matrix.tsan }} - shared: ${{ matrix.shared }} - abbreviate-paths: false - hash: true - debug-configuration: true - trace-commands: true + 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 '==================================> INSTALL' + + BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true + cd .. + git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost + cd boost + git submodule update --init tools/build + git submodule update --init libs/config + git submodule update --init tools/boostdep + mkdir -p libs/functional + cp -r $TRAVIS_BUILD_DIR/* libs/functional + python tools/boostdep/depinst/depinst.py -I forward/test -I factory/test -I overloaded_function/test functional + ./bootstrap.sh + ./b2 headers + + echo '==================================> SCRIPT' + + echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam + cd libs/functional + ../../b2 -j 3 test toolset=$TOOLSET cxxstd=$CXXSTD + ../../b2 -j 3 forward/test toolset=$TOOLSET cxxstd=$CXXSTD + ../../b2 -j 3 factory/test toolset=$TOOLSET cxxstd=$CXXSTD + ../../b2 -j 3 overloaded_function/test toolset=$TOOLSET cxxstd=$CXXSTD + + fi From 8326034dfbc108b76050419ec4019241f44ebdc3 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 6 Jun 2025 18:52:33 -0500 Subject: [PATCH 14/21] Remove unavailable libstdc++ package reference. --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dddfb981b..9d8f1c43d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -201,7 +201,7 @@ jobs: cxxstd: "03,11" - name: "TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03, Job 14" buildtype: "boost" - packages: "clang-3.5 libstdc++-4.9-dev" + packages: "clang-3.5" packages_to_remove: "" os: "ubuntu-latest" container: "ubuntu:14.04" @@ -240,7 +240,7 @@ jobs: cxxstd: "03,11,14" - name: "TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03, Job 17" buildtype: "boost" - packages: "clang-3.8 libstdc++-4.9-dev" + packages: "clang-3.8" packages_to_remove: "" os: "ubuntu-latest" container: "ubuntu:14.04" @@ -253,7 +253,7 @@ jobs: cxxstd: "03,11,14" - name: "TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03, Job 18" buildtype: "boost" - packages: "clang-3.9 libstdc++-4.9-dev" + packages: "clang-3.9" packages_to_remove: "" os: "ubuntu-latest" container: "ubuntu:14.04" From fd0e795fc39fccd6ba6249b23ccf4a2192723cc2 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 6 Jun 2025 19:09:59 -0500 Subject: [PATCH 15/21] Adjust containers and python exe name for current context. --- .github/workflows/ci.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9d8f1c43d..03168a541 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,7 +48,7 @@ jobs: packages: "g++-4.6" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:16.04" + container: "ubuntu:14.04" cxx: "g++" sources: "" llvm_os: "" @@ -113,7 +113,7 @@ jobs: packages: "g++-6" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:14.04" + container: "ubuntu:18.04" cxx: "g++-6" sources: "" llvm_os: "" @@ -126,7 +126,7 @@ jobs: packages: "g++-7" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:16.04" + container: "ubuntu:18.04" cxx: "g++-7" sources: "" llvm_os: "" @@ -139,7 +139,7 @@ jobs: packages: "g++-8" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:16.04" + container: "ubuntu:18.04" cxx: "g++-8" sources: "" llvm_os: "" @@ -152,7 +152,7 @@ jobs: packages: "g++-9" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:16.04" + container: "ubuntu:20.04" cxx: "g++-9" sources: "" llvm_os: "" @@ -269,7 +269,7 @@ jobs: packages: "clang-4.0" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:14.04" + container: "ubuntu:18.04" cxx: "clang++-4.0" sources: "" llvm_os: "trusty" @@ -282,7 +282,7 @@ jobs: packages: "clang-5.0" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:14.04" + container: "ubuntu:18.04" cxx: "clang++-5.0" sources: "" llvm_os: "trusty" @@ -295,7 +295,7 @@ jobs: packages: "clang-6.0" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:14.04" + container: "ubuntu:18.04" cxx: "clang++-6.0" sources: "" llvm_os: "trusty" @@ -308,7 +308,7 @@ jobs: packages: "clang-7" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:16.04" + container: "ubuntu:18.04" cxx: "clang++-7" sources: "" llvm_os: "xenial" @@ -321,7 +321,7 @@ jobs: packages: "clang-8" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:16.04" + container: "ubuntu:18.04" cxx: "clang++-8" sources: "" llvm_os: "xenial" @@ -334,7 +334,7 @@ jobs: packages: " libc++-9-dev libc++abi-9-dev" packages_to_remove: "libc++-dev libc++abi-dev" os: "ubuntu-latest" - container: "ubuntu-18.04" + container: "ubuntu:18.04" cxx: "clang++-libc++" sources: "" llvm_os: "xenial" @@ -412,7 +412,7 @@ jobs: git submodule update --init tools/boostdep mkdir -p libs/functional cp -r $TRAVIS_BUILD_DIR/* libs/functional - python tools/boostdep/depinst/depinst.py -I forward/test -I factory/test -I overloaded_function/test functional + python3 tools/boostdep/depinst/depinst.py -I forward/test -I factory/test -I overloaded_function/test functional ./bootstrap.sh ./b2 headers @@ -498,7 +498,7 @@ jobs: git submodule update --init tools/boostdep mkdir -p libs/functional cp -r $TRAVIS_BUILD_DIR/* libs/functional - python tools/boostdep/depinst/depinst.py -I forward/test -I factory/test -I overloaded_function/test functional + python3 tools/boostdep/depinst/depinst.py -I forward/test -I factory/test -I overloaded_function/test functional ./bootstrap.sh ./b2 headers From ce8d8ce33d59d88d71f1333ba7ecdd870a15202c Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 6 Jun 2025 19:12:37 -0500 Subject: [PATCH 16/21] Remove possibly conflicting dev env setting for xcode. --- .github/workflows/ci.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 03168a541..f9f283d1c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -449,12 +449,6 @@ jobs: 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: From eae67c551e2869f8071705b2e7fda1768b18de15 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 6 Jun 2025 20:49:59 -0500 Subject: [PATCH 17/21] Bump some containers for package availability. --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f9f283d1c..d41f017d5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -162,7 +162,7 @@ jobs: cxxstd: "03,11,14,17,2a" - name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 Job 11" buildtype: "boost" - packages: "" + packages: "clang" packages_to_remove: "" os: "ubuntu-latest" container: "ubuntu:18.04" @@ -230,7 +230,7 @@ jobs: packages: "clang-3.7" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:14.04" + container: "ubuntu:16.04" cxx: "clang++-3.7" sources: "" llvm_os: "precise" @@ -243,7 +243,7 @@ jobs: packages: "clang-3.8" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:14.04" + container: "ubuntu:16.04" cxx: "clang++-3.8" sources: "" llvm_os: "precise" @@ -256,7 +256,7 @@ jobs: packages: "clang-3.9" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:14.04" + container: "ubuntu:16.04" cxx: "clang++-3.9" sources: "" llvm_os: "precise" @@ -331,7 +331,7 @@ jobs: cxxstd: "03,11,14,17,2a" - name: "TOOLSET=clang COMPILER=clang++-libc++ CXXSTD= Job 24" buildtype: "boost" - packages: " libc++-9-dev libc++abi-9-dev" + packages: " libc++-9-dev libc++abi-9-dev clang" packages_to_remove: "libc++-dev libc++abi-dev" os: "ubuntu-latest" container: "ubuntu:18.04" From 59a4afad393ee0b1959bb53b435c8d71d4022cb2 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Wed, 25 Jun 2025 23:15:01 -0500 Subject: [PATCH 18/21] Remove 03 testing as dependencies no longer support it. --- .github/workflows/ci.yml | 50 ++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d41f017d5..6266bed1b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: llvm_ver: "" toolset: "gcc" compiler: "g++" - cxxstd: "03,11" + cxxstd: "11" - name: "TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x Job 1" buildtype: "boost" packages: "g++-4.4" @@ -55,7 +55,7 @@ jobs: llvm_ver: "" toolset: "gcc" compiler: "g++-4.6" - cxxstd: "03,0x" + cxxstd: "0x" - name: "TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 Job 3" buildtype: "boost" packages: "g++-4.7" @@ -68,7 +68,7 @@ jobs: llvm_ver: "" toolset: "gcc" compiler: "g++-4.7" - cxxstd: "03,11" + cxxstd: "11" - name: "TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 Job 4" buildtype: "boost" packages: "g++-4.8" @@ -81,7 +81,7 @@ jobs: llvm_ver: "" toolset: "gcc" compiler: "g++-4.8" - cxxstd: "03,11" + cxxstd: "11" - name: "TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 Job 5" buildtype: "boost" packages: "g++-4.9" @@ -94,7 +94,7 @@ jobs: llvm_ver: "" toolset: "gcc" compiler: "g++-4.9" - cxxstd: "03,11" + cxxstd: "11" - name: "TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z Job 6" buildtype: "boost" packages: "g++-5" @@ -107,7 +107,7 @@ jobs: llvm_ver: "" toolset: "gcc" compiler: "g++-5" - cxxstd: "03,11,14,1z" + cxxstd: "11,14,1z" - name: "TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z Job 7" buildtype: "boost" packages: "g++-6" @@ -120,7 +120,7 @@ jobs: llvm_ver: "" toolset: "gcc" compiler: "g++-6" - cxxstd: "03,11,14,1z" + cxxstd: "11,14,1z" - name: "TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 Job 8" buildtype: "boost" packages: "g++-7" @@ -133,7 +133,7 @@ jobs: llvm_ver: "" toolset: "gcc" compiler: "g++-7" - cxxstd: "03,11,14,17" + cxxstd: "11,14,17" - name: "TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17 Job 9" buildtype: "boost" packages: "g++-8" @@ -146,7 +146,7 @@ jobs: llvm_ver: "" toolset: "gcc" compiler: "g++-8" - cxxstd: "03,11,14,17,2a" + cxxstd: "11,14,17,2a" - name: "TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17 Job 10" buildtype: "boost" packages: "g++-9" @@ -159,7 +159,7 @@ jobs: llvm_ver: "" toolset: "gcc" compiler: "g++-9" - cxxstd: "03,11,14,17,2a" + cxxstd: "11,14,17,2a" - name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 Job 11" buildtype: "boost" packages: "clang" @@ -172,7 +172,7 @@ jobs: llvm_ver: "" toolset: "clang" compiler: "clang++" - cxxstd: "03,11" + cxxstd: "11" - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 12" buildtype: "boost" packages: "clang-3.3" @@ -185,7 +185,7 @@ jobs: llvm_ver: "" toolset: "clang" compiler: "/usr/bin/clang++" - cxxstd: "03,11" + cxxstd: "11" - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 13" buildtype: "boost" packages: "clang-3.4" @@ -198,7 +198,7 @@ jobs: llvm_ver: "" toolset: "clang" compiler: "/usr/bin/clang++" - cxxstd: "03,11" + cxxstd: "11" - name: "TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03, Job 14" buildtype: "boost" packages: "clang-3.5" @@ -211,7 +211,7 @@ jobs: llvm_ver: "3.5" toolset: "clang" compiler: "clang++-3.5" - cxxstd: "03,11,14" + cxxstd: "11,14" - name: "TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03, Job 15" buildtype: "boost" packages: "clang-3.6" @@ -224,7 +224,7 @@ jobs: llvm_ver: "3.6" toolset: "clang" compiler: "clang++-3.6" - cxxstd: "03,11,14" + cxxstd: "11,14" - name: "TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03, Job 16" buildtype: "boost" packages: "clang-3.7" @@ -237,7 +237,7 @@ jobs: llvm_ver: "3.7" toolset: "clang" compiler: "clang++-3.7" - cxxstd: "03,11,14" + cxxstd: "11,14" - name: "TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03, Job 17" buildtype: "boost" packages: "clang-3.8" @@ -250,7 +250,7 @@ jobs: llvm_ver: "3.8" toolset: "clang" compiler: "clang++-3.8" - cxxstd: "03,11,14" + cxxstd: "11,14" - name: "TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03, Job 18" buildtype: "boost" packages: "clang-3.9" @@ -263,7 +263,7 @@ jobs: llvm_ver: "3.9" toolset: "clang" compiler: "clang++-3.9" - cxxstd: "03,11,14" + cxxstd: "11,14" - name: "TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03, Job 19" buildtype: "boost" packages: "clang-4.0" @@ -276,7 +276,7 @@ jobs: llvm_ver: "4.0" toolset: "clang" compiler: "clang++-4.0" - cxxstd: "03,11,14" + cxxstd: "11,14" - name: "TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03, Job 20" buildtype: "boost" packages: "clang-5.0" @@ -289,7 +289,7 @@ jobs: llvm_ver: "5.0" toolset: "clang" compiler: "clang++-5.0" - cxxstd: "03,11,14,1z" + cxxstd: "11,14,1z" - name: "TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03, Job 21" buildtype: "boost" packages: "clang-6.0" @@ -302,7 +302,7 @@ jobs: llvm_ver: "6.0" toolset: "clang" compiler: "clang++-6.0" - cxxstd: "03,11,14,17,2a" + cxxstd: "11,14,17,2a" - name: "TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11 Job 22" buildtype: "boost" packages: "clang-7" @@ -315,7 +315,7 @@ jobs: llvm_ver: "7" toolset: "clang" compiler: "clang++-7" - cxxstd: "03,11,14,17,2a" + cxxstd: "11,14,17,2a" - name: "TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11 Job 23" buildtype: "boost" packages: "clang-8" @@ -328,7 +328,7 @@ jobs: llvm_ver: "8" toolset: "clang" compiler: "clang++-8" - cxxstd: "03,11,14,17,2a" + cxxstd: "11,14,17,2a" - name: "TOOLSET=clang COMPILER=clang++-libc++ CXXSTD= Job 24" buildtype: "boost" packages: " libc++-9-dev libc++abi-9-dev clang" @@ -341,7 +341,7 @@ jobs: llvm_ver: "9" toolset: "clang" compiler: "clang++-libc++" - cxxstd: "03,11,14,1z" + cxxstd: "11,14,1z" runs-on: ${{ matrix.os }} container: @@ -442,7 +442,7 @@ jobs: xcode_version: 11.7 toolset: "clang" compiler: "clang++" - cxxstd: "03,11,14,1z" + cxxstd: "11,14,1z" runs-on: ${{ matrix.os }} From eb0ada4b5b328cd886f8a18cd8e491b50e790899 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Wed, 25 Jun 2025 23:22:25 -0500 Subject: [PATCH 19/21] Adjust job names to reflect actualy cxstd tested. --- .github/workflows/ci.yml | 50 ++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6266bed1b..78974aaec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: include: - - name: "TOOLSET=gcc COMPILER=g++ CXXSTD=03,11 Job 0" + - name: "TOOLSET=gcc COMPILER=g++ CXXSTD=11 Job 0" buildtype: "boost" packages: "" packages_to_remove: "" @@ -43,7 +43,7 @@ jobs: toolset: "gcc" compiler: "g++-4.4" cxxstd: "98,0x" - - name: "TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x Job 2" + - name: "TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=0x Job 2" buildtype: "boost" packages: "g++-4.6" packages_to_remove: "" @@ -56,7 +56,7 @@ jobs: toolset: "gcc" compiler: "g++-4.6" cxxstd: "0x" - - name: "TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 Job 3" + - name: "TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=11 Job 3" buildtype: "boost" packages: "g++-4.7" packages_to_remove: "" @@ -69,7 +69,7 @@ jobs: toolset: "gcc" compiler: "g++-4.7" cxxstd: "11" - - name: "TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 Job 4" + - name: "TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=11 Job 4" buildtype: "boost" packages: "g++-4.8" packages_to_remove: "" @@ -82,7 +82,7 @@ jobs: toolset: "gcc" compiler: "g++-4.8" cxxstd: "11" - - name: "TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 Job 5" + - name: "TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=11 Job 5" buildtype: "boost" packages: "g++-4.9" packages_to_remove: "" @@ -95,7 +95,7 @@ jobs: toolset: "gcc" compiler: "g++-4.9" cxxstd: "11" - - name: "TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z Job 6" + - name: "TOOLSET=gcc COMPILER=g++-5 CXXSTD=11,14,1z Job 6" buildtype: "boost" packages: "g++-5" packages_to_remove: "" @@ -108,7 +108,7 @@ jobs: toolset: "gcc" compiler: "g++-5" cxxstd: "11,14,1z" - - name: "TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z Job 7" + - name: "TOOLSET=gcc COMPILER=g++-6 CXXSTD=11,14,1z Job 7" buildtype: "boost" packages: "g++-6" packages_to_remove: "" @@ -121,7 +121,7 @@ jobs: toolset: "gcc" compiler: "g++-6" cxxstd: "11,14,1z" - - name: "TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 Job 8" + - name: "TOOLSET=gcc COMPILER=g++-7 CXXSTD=11,14,17 Job 8" buildtype: "boost" packages: "g++-7" packages_to_remove: "" @@ -134,7 +134,7 @@ jobs: toolset: "gcc" compiler: "g++-7" cxxstd: "11,14,17" - - name: "TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17 Job 9" + - name: "TOOLSET=gcc COMPILER=g++-8 CXXSTD=11,14,17,2a Job 9" buildtype: "boost" packages: "g++-8" packages_to_remove: "" @@ -147,7 +147,7 @@ jobs: toolset: "gcc" compiler: "g++-8" cxxstd: "11,14,17,2a" - - name: "TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17 Job 10" + - name: "TOOLSET=gcc COMPILER=g++-9 CXXSTD=11,14,17,2a Job 10" buildtype: "boost" packages: "g++-9" packages_to_remove: "" @@ -160,7 +160,7 @@ jobs: toolset: "gcc" compiler: "g++-9" cxxstd: "11,14,17,2a" - - name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 Job 11" + - name: "TOOLSET=clang COMPILER=clang++ CXXSTD=11 Job 11" buildtype: "boost" packages: "clang" packages_to_remove: "" @@ -173,7 +173,7 @@ jobs: toolset: "clang" compiler: "clang++" cxxstd: "11" - - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 12" + - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=11 Job 12" buildtype: "boost" packages: "clang-3.3" packages_to_remove: "" @@ -186,7 +186,7 @@ jobs: toolset: "clang" compiler: "/usr/bin/clang++" cxxstd: "11" - - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 13" + - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=11 Job 13" buildtype: "boost" packages: "clang-3.4" packages_to_remove: "" @@ -199,7 +199,7 @@ jobs: toolset: "clang" compiler: "/usr/bin/clang++" cxxstd: "11" - - name: "TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03, Job 14" + - name: "TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=11,14 Job 14" buildtype: "boost" packages: "clang-3.5" packages_to_remove: "" @@ -212,7 +212,7 @@ jobs: toolset: "clang" compiler: "clang++-3.5" cxxstd: "11,14" - - name: "TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03, Job 15" + - name: "TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=11,14 Job 15" buildtype: "boost" packages: "clang-3.6" packages_to_remove: "" @@ -225,7 +225,7 @@ jobs: toolset: "clang" compiler: "clang++-3.6" cxxstd: "11,14" - - name: "TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03, Job 16" + - name: "TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=11,14 Job 16" buildtype: "boost" packages: "clang-3.7" packages_to_remove: "" @@ -238,7 +238,7 @@ jobs: toolset: "clang" compiler: "clang++-3.7" cxxstd: "11,14" - - name: "TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03, Job 17" + - name: "TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=11,14 Job 17" buildtype: "boost" packages: "clang-3.8" packages_to_remove: "" @@ -251,7 +251,7 @@ jobs: toolset: "clang" compiler: "clang++-3.8" cxxstd: "11,14" - - name: "TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03, Job 18" + - name: "TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=11,14 Job 18" buildtype: "boost" packages: "clang-3.9" packages_to_remove: "" @@ -264,7 +264,7 @@ jobs: toolset: "clang" compiler: "clang++-3.9" cxxstd: "11,14" - - name: "TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03, Job 19" + - name: "TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=11,14 Job 19" buildtype: "boost" packages: "clang-4.0" packages_to_remove: "" @@ -277,7 +277,7 @@ jobs: toolset: "clang" compiler: "clang++-4.0" cxxstd: "11,14" - - name: "TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03, Job 20" + - name: "TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=11,14,1z Job 20" buildtype: "boost" packages: "clang-5.0" packages_to_remove: "" @@ -290,7 +290,7 @@ jobs: toolset: "clang" compiler: "clang++-5.0" cxxstd: "11,14,1z" - - name: "TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03, Job 21" + - name: "TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=11,14,17,2a Job 21" buildtype: "boost" packages: "clang-6.0" packages_to_remove: "" @@ -303,7 +303,7 @@ jobs: toolset: "clang" compiler: "clang++-6.0" cxxstd: "11,14,17,2a" - - name: "TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11 Job 22" + - name: "TOOLSET=clang COMPILER=clang++-7 CXXSTD=11,14,17,2a Job 22" buildtype: "boost" packages: "clang-7" packages_to_remove: "" @@ -316,7 +316,7 @@ jobs: toolset: "clang" compiler: "clang++-7" cxxstd: "11,14,17,2a" - - name: "TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11 Job 23" + - name: "TOOLSET=clang COMPILER=clang++-8 CXXSTD=11,14,17,2a Job 23" buildtype: "boost" packages: "clang-8" packages_to_remove: "" @@ -329,7 +329,7 @@ jobs: toolset: "clang" compiler: "clang++-8" cxxstd: "11,14,17,2a" - - name: "TOOLSET=clang COMPILER=clang++-libc++ CXXSTD= Job 24" + - name: "TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=11,14,1z Job 24" buildtype: "boost" packages: " libc++-9-dev libc++abi-9-dev clang" packages_to_remove: "libc++-dev libc++abi-dev" @@ -431,7 +431,7 @@ jobs: fail-fast: false matrix: include: - - name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,1 Job 25" + - name: "TOOLSET=clang COMPILER=clang++ CXXSTD=11,1 Job 25" buildtype: "boost" packages: "" os: "macos-15" From e2a28bafb8a2dcda0cd6d5d1ef5b9c4fccf9c45a Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 26 Jun 2025 08:41:51 -0500 Subject: [PATCH 20/21] Tweaks per @pdimov --- .github/workflows/ci.yml | 47 ++++------------------------------------ 1 file changed, 4 insertions(+), 43 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 78974aaec..7f190fd5a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,32 +30,6 @@ jobs: toolset: "gcc" compiler: "g++" cxxstd: "11" - - name: "TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x Job 1" - buildtype: "boost" - packages: "g++-4.4" - packages_to_remove: "" - os: "ubuntu-latest" - container: "ubuntu:14.04" - cxx: "g++" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-4.4" - cxxstd: "98,0x" - - name: "TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=0x Job 2" - buildtype: "boost" - packages: "g++-4.6" - packages_to_remove: "" - os: "ubuntu-latest" - container: "ubuntu:14.04" - cxx: "g++" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - compiler: "g++-4.6" - cxxstd: "0x" - name: "TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=11 Job 3" buildtype: "boost" packages: "g++-4.7" @@ -173,19 +147,6 @@ jobs: toolset: "clang" compiler: "clang++" cxxstd: "11" - - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=11 Job 12" - buildtype: "boost" - packages: "clang-3.3" - packages_to_remove: "" - os: "ubuntu-latest" - container: "ubuntu:14.04" - cxx: "/usr/bin/clang++" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "clang" - compiler: "/usr/bin/clang++" - cxxstd: "11" - name: "TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=11 Job 13" buildtype: "boost" packages: "clang-3.4" @@ -199,7 +160,7 @@ jobs: toolset: "clang" compiler: "/usr/bin/clang++" cxxstd: "11" - - name: "TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=11,14 Job 14" + - name: "TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=11 Job 14" buildtype: "boost" packages: "clang-3.5" packages_to_remove: "" @@ -211,8 +172,8 @@ jobs: llvm_ver: "3.5" toolset: "clang" compiler: "clang++-3.5" - cxxstd: "11,14" - - name: "TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=11,14 Job 15" + cxxstd: "11" + - name: "TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=11 Job 15" buildtype: "boost" packages: "clang-3.6" packages_to_remove: "" @@ -224,7 +185,7 @@ jobs: llvm_ver: "3.6" toolset: "clang" compiler: "clang++-3.6" - cxxstd: "11,14" + cxxstd: "11" - name: "TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=11,14 Job 16" buildtype: "boost" packages: "clang-3.7" From ea3f73229571f1cc8f86f68f58a376c0ffc22985 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 26 Jun 2025 08:43:49 -0500 Subject: [PATCH 21/21] also drop failing clang++-libc++ --- .github/workflows/ci.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f190fd5a..23e9a1c15 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -290,19 +290,6 @@ jobs: toolset: "clang" compiler: "clang++-8" cxxstd: "11,14,17,2a" - - name: "TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=11,14,1z Job 24" - buildtype: "boost" - packages: " libc++-9-dev libc++abi-9-dev clang" - packages_to_remove: "libc++-dev libc++abi-dev" - os: "ubuntu-latest" - container: "ubuntu:18.04" - cxx: "clang++-libc++" - sources: "" - llvm_os: "xenial" - llvm_ver: "9" - toolset: "clang" - compiler: "clang++-libc++" - cxxstd: "11,14,1z" runs-on: ${{ matrix.os }} container: