Compare commits

..

13 Commits

Author SHA1 Message Date
Andrey Semashev
9984eff746 Replaced macos-13 with macos-15 in GitHub Actions.
The macos-13 image is retired, macos-15 is now available.
2025-12-13 20:44:34 +03:00
Andrey Semashev
2592296b41 Merge pull request #115 from Flamefire/test-link-update
Update Link to regression test matrix in README
2025-08-25 19:06:57 +03:00
Alexander Grund
923aedf577 Update Link to regression test matrix in README 2025-08-25 17:26:33 +02:00
Andrey Semashev
67861ef6ad Fixed AppVeyor image name for 32-bit MinGW-w64 gcc 8.3. 2025-06-17 04:21:49 +03:00
Andrey Semashev
a526242486 Check whether Boost.Graph supports the current compiler.
Recent change to Boost.Math, on which Boost.Graph depends, made it
incompatible with MSVC 14.0. Rather than check for a specific compiler
version, add a configure-time check whether Boost.Graph compiles (or
at least the part that is used in Boost.Parameter tests). Disable the
tests that depend on Boost.Graph if that check fails.

Refs https://github.com/boostorg/math/issues/1275.
2025-06-17 00:49:48 +03:00
Andrey Semashev
c86e3e4dec Removed unneeded dependency on Boost.Graph.
The literate/default-expression-evaluation0 test did not actually need
anything from Boost.Graph, so remove the dependency.
2025-06-17 00:49:48 +03:00
Andrey Semashev
253b11d0df Removed MinGW-w64 gcc 6.3 job from AppVeyor.
The compiler does not provide synchronization lib, which is needed by
Boost.Atomic.
2025-06-17 00:47:41 +03:00
Andrey Semashev
248b911831 Split clang-cl 32 and 64-bit jobs, add MinGW-w64 gcc 8 jobs.
The clang-cl builds fail with "unable to load mspdbcore.dll", so split
it into 32 and 64-bit jobs and invoke env setup scripts for each of the
job.

Also add MinGW-w64 jobs with gcc 8.1.
2025-06-16 14:41:13 +03:00
Andrey Semashev
530564aa2a Increased GitHub Actions jobs timeout. 2025-06-13 11:39:47 +03:00
Andrey Semashev
e67ba43bc9 Use Azure mirrors of Ubuntu .deb repositories in containers.
This reduces the likelihood of spurious CI failures caused by DDoS filters
being triggered by massive numbers of concurrent CI jobs.
2025-06-13 03:51:42 +03:00
Andrey Semashev
782f1b14a9 Added new gcc and clang jobs to GitHub Actions. 2025-06-13 03:51:21 +03:00
Andrey Semashev
1e842b3f34 Removed windows-2019 GitHub Actions jobs.
The windows-2019 image is deprecated and is about to be removed.
2025-06-13 03:49:28 +03:00
Andrey Semashev
a5a7e548db Removed obsolete GHA images, added new compilers. 2025-04-19 19:46:15 +03:00
7 changed files with 132 additions and 66 deletions

View File

@@ -1,4 +1,4 @@
# Copyright 2021-2024 Andrey Semashev
# Copyright 2021-2025 Andrey Semashev
#
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
@@ -71,12 +71,14 @@ jobs:
- g++-8
- toolset: gcc-9
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
os: ubuntu-latest
container: ubuntu:20.04
install:
- g++-9
- toolset: gcc-10
cxxstd: "11,14,17,20"
os: ubuntu-20.04
os: ubuntu-latest
container: ubuntu:20.04
install:
- g++-10
- toolset: gcc-11
@@ -91,18 +93,28 @@ jobs:
- g++-12
- toolset: gcc-13
cxxstd: "11,14,17,20,23"
os: ubuntu-latest
container: ubuntu:23.04
os: ubuntu-24.04
install:
- g++-13
- toolset: gcc-14
cxxstd: "11,14,17,20,23,26"
os: ubuntu-24.04
install:
- g++-14
- toolset: gcc-15
cxxstd: "11,14,17,20,23,26"
os: ubuntu-latest
container: ubuntu:25.04
install:
- g++-15
- name: UBSAN
toolset: gcc-11
toolset: gcc-13
cxxstd: "11,14,17,20,23"
ubsan: 1
build_variant: debug
os: ubuntu-22.04
os: ubuntu-24.04
install:
- g++-11
- g++-13
# Linux, clang
- toolset: clang
@@ -181,13 +193,15 @@ jobs:
- toolset: clang
compiler: clang++-9
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
os: ubuntu-latest
container: ubuntu:20.04
install:
- clang-9
- toolset: clang
compiler: clang++-10
cxxstd: "11,14,17,20"
os: ubuntu-20.04
os: ubuntu-latest
container: ubuntu:20.04
install:
- clang-10
- toolset: clang
@@ -231,62 +245,72 @@ jobs:
- toolset: clang
compiler: clang++-16
cxxstd: "11,14,17,20,2b"
os: ubuntu-22.04
os: ubuntu-24.04
install:
- clang-16
sources:
- "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main"
source_keys:
- "https://apt.llvm.org/llvm-snapshot.gpg.key"
- g++-11
gcc_toolchain: 11
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,23"
os: ubuntu-22.04
os: ubuntu-24.04
install:
- clang-17
sources:
- "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main"
source_keys:
- "https://apt.llvm.org/llvm-snapshot.gpg.key"
- g++-11
gcc_toolchain: 11
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,23"
os: ubuntu-22.04
compiler: clang++-18
cxxstd: "11,14,17,20,23,26"
os: ubuntu-24.04
install:
- clang-17
- libc++-17-dev
- libc++abi-17-dev
sources:
- "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main"
source_keys:
- "https://apt.llvm.org/llvm-snapshot.gpg.key"
- clang-18
- g++-13
- toolset: clang
compiler: clang++-19
cxxstd: "11,14,17,20,23,26"
os: ubuntu-24.04
install:
- clang-19
- toolset: clang
compiler: clang++-20
cxxstd: "11,14,17,20,23,26"
os: ubuntu-latest
container: ubuntu:25.04
install:
- clang-20
- toolset: clang
compiler: clang++-20
cxxstd: "11,14,17,20,23,26"
cxxflags: -stdlib=libc++
linkflags: -stdlib=libc++
os: ubuntu-latest
container: ubuntu:25.04
install:
- clang-20
- libc++-20-dev
- libc++abi-20-dev
- name: UBSAN
toolset: clang
compiler: clang++-15
cxxstd: "11,14,17,20,2b"
compiler: clang++-18
cxxstd: "11,14,17,20,23,26"
cxxflags: -stdlib=libc++
linkflags: -stdlib=libc++
ubsan: 1
build_variant: debug
os: ubuntu-22.04
os: ubuntu-24.04
install:
- clang-15
- libc++-15-dev
- libc++abi-15-dev
- clang-18
- libc++-18-dev
- libc++abi-18-dev
- toolset: clang
cxxstd: "11,14,17,20,2b"
os: macos-12
- toolset: clang
cxxstd: "11,14,17,20,2b"
os: macos-13
- toolset: clang
cxxstd: "11,14,17,20,2b"
os: macos-14
- toolset: clang
cxxstd: "11,14,17,20,23"
os: macos-15
timeout-minutes: 20
timeout-minutes: 30
runs-on: ${{matrix.os}}
container: ${{matrix.container}}
@@ -303,6 +327,22 @@ jobs:
echo "GHA_CONTAINER=${{matrix.container}}" >> $GITHUB_ENV
if [ -f "/etc/debian_version" ]
then
# Use Azure APT mirrors in containers to avoid HTTP errors due to DDoS filters triggered by lots of CI jobs launching concurrently.
# Note that not all Ubuntu versions support "mirror+file:..." URIs in APT sources, so just use Azure mirrors exclusively.
# Note also that on recent Ubuntu versions DEB822 format is used for source files.
APT_SOURCES=()
if [ -d "/etc/apt/sources.list.d" ]
then
readarray -t APT_SOURCES < <(find "/etc/apt/sources.list.d" -type f -name '*.sources' -print)
fi
if [ -f "/etc/apt/sources.list" ]
then
APT_SOURCES+=("/etc/apt/sources.list")
fi
if [ "${#APT_SOURCES[@]}" -gt 0 ]
then
sed -i -E -e 's!([^ ]+) (http|https)://(archive|security)\.ubuntu\.com/ubuntu[^ ]*(.*)!\1 http://azure.archive.ubuntu.com/ubuntu/\4!' "${APT_SOURCES[@]}"
fi
apt-get -o Acquire::Retries=$NET_RETRY_COUNT update
if [ "$(apt-cache search "^python-is-python3$" | wc -l)" -ne 0 ]
then
@@ -504,14 +544,6 @@ jobs:
fail-fast: false
matrix:
include:
- toolset: msvc-14.0
cxxstd: "14"
addrmd: 32,64
os: windows-2019
- toolset: msvc-14.2
cxxstd: "14,17,20,latest"
addrmd: 32,64
os: windows-2019
- toolset: msvc-14.3
cxxstd: "14,17,20,latest"
addrmd: 32,64
@@ -521,11 +553,11 @@ jobs:
addrmd: 32,64
os: windows-2022
- toolset: gcc
cxxstd: "11,14,17,2a"
cxxstd: "11,14,17,20,23"
addrmd: 64
os: windows-2019
os: windows-2022
timeout-minutes: 20
timeout-minutes: 30
runs-on: ${{matrix.os}}
steps:

View File

@@ -18,8 +18,8 @@ Boost.Parameter, part of collection of the [Boost C++ Libraries](https://github.
Branch | GitHub Actions | AppVeyor | Test Matrix | Dependencies |
:-------------: | -------------- | -------- | ----------- | ------------ |
[`master`](https://github.com/boostorg/parameter/tree/master) | [![GitHub Actions](https://github.com/boostorg/parameter/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/boostorg/parameter/actions?query=branch%3Amaster) | [![AppVeyor](https://ci.appveyor.com/api/projects/status/e9iptg55otiv040a/branch/master?svg=true)](https://ci.appveyor.com/project/Lastique/parameter/branch/master) | [![Tests](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/parameter.html) | [![Dependencies](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/parameter.html)
[`develop`](https://github.com/boostorg/parameter/tree/develop) | [![GitHub Actions](https://github.com/boostorg/parameter/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/boostorg/parameter/actions?query=branch%3Adevelop) | [![AppVeyor](https://ci.appveyor.com/api/projects/status/e9iptg55otiv040a/branch/develop?svg=true)](https://ci.appveyor.com/project/Lastique/parameter/branch/develop) | [![Tests](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/parameter.html) | [![Dependencies](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/parameter.html)
[`master`](https://github.com/boostorg/parameter/tree/master) | [![GitHub Actions](https://github.com/boostorg/parameter/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/boostorg/parameter/actions?query=branch%3Amaster) | [![AppVeyor](https://ci.appveyor.com/api/projects/status/e9iptg55otiv040a/branch/master?svg=true)](https://ci.appveyor.com/project/Lastique/parameter/branch/master) | [![Tests](https://img.shields.io/badge/matrix-master-brightgreen.svg)](https://regression.boost.io/master/developer/parameter.html) | [![Dependencies](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/parameter.html)
[`develop`](https://github.com/boostorg/parameter/tree/develop) | [![GitHub Actions](https://github.com/boostorg/parameter/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/boostorg/parameter/actions?query=branch%3Adevelop) | [![AppVeyor](https://ci.appveyor.com/api/projects/status/e9iptg55otiv040a/branch/develop?svg=true)](https://ci.appveyor.com/project/Lastique/parameter/branch/develop) | [![Tests](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](https://regression.boost.io/develop/developer/parameter.html) | [![Dependencies](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/parameter.html)
### License

View File

@@ -1,6 +1,6 @@
# Copyright 2017 Edward Diener
# Copyright 2017 Cromwell D. Enage
# Copyright 2021-2022 Andrey Semashev
# Copyright 2021-2025 Andrey Semashev
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://boost.org/LICENSE_1_0.txt)
@@ -25,8 +25,12 @@ environment:
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- ARGS: toolset=msvc-14.3 address-model=32,64 cxxstd=14,17,20,latest
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
- ARGS: toolset=clang-win address-model=32,64 cxxstd=14,17,latest
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- ARGS: toolset=clang-win address-model=64 cxxstd=14,17,latest
ENV_SCRIPT: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- ARGS: toolset=clang-win address-model=32 cxxstd=14,17,latest
ENV_SCRIPT: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- ARGS: toolset=gcc address-model=32 cxxstd=11,14,1z
PATH: C:\cygwin\bin;%PATH%
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
@@ -36,12 +40,15 @@ environment:
- ARGS: toolset=gcc address-model=32 cxxstd=11,14
PATH: C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin;%PATH%
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- ARGS: toolset=gcc address-model=64 cxxstd=11,14,1z
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- ARGS: toolset=gcc address-model=64 cxxstd=11,14,1z
PATH: C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin;%PATH%
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- ARGS: toolset=gcc address-model=64 cxxstd=11,14,17,2a
PATH: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;%PATH%
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- ARGS: toolset=gcc address-model=32 cxxstd=11,14,17,2a
PATH: C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin;%PATH%
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
install:
- set GIT_FETCH_JOBS=8
@@ -64,4 +71,5 @@ install:
build: off
test_script:
- if not "%ENV_SCRIPT%" == "" call "%ENV_SCRIPT%"
- b2 -j %NUMBER_OF_PROCESSORS% libs/parameter/test %ARGS%

8
config/Jamfile.v2 Normal file
View File

@@ -0,0 +1,8 @@
# Copyright Andrey Semashev 2025.
#
# 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)
exe graph_supported : graph_supported.cpp : <library>/boost/graph//boost_graph ;
explicit graph_supported ;

View File

@@ -0,0 +1,18 @@
/*
* Copyright Andrey Semashev 2025.
* 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)
*/
// This test checks whether the portion of Boost.Graph that is used by Boost.Parameter tests
// is compatible with the current compiler. The headers listed below are used in Boost.Parameter tests.
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/properties.hpp>
#include <boost/graph/depth_first_search.hpp>
#include <boost/graph/adjacency_list.hpp>
int main()
{
}

View File

@@ -1,5 +1,7 @@
# Copyright David Abrahams, Daniel Wallin 2006.
# Copyright Cromwell D. Enage 2017.
# Copyright Andrey Semashev 2025.
#
# 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)
@@ -305,7 +307,6 @@ alias parameter_literate_tests
:
<define>BOOST_PARAMETER_MAX_ARITY=5
<define>BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=6
<library>/boost/graph//boost_graph
:
:
<preserve-target-tests>off
@@ -426,9 +427,10 @@ alias parameter_literate_tests
:
:
:
[ check-target-builds ../config//graph_supported "Boost.Graph compiles" : <library>/boost/graph//boost_graph : <build>no ]
<define>BOOST_PARAMETER_MAX_ARITY=5
<define>BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=6
<library>/boost/graph//boost_graph
:
:
<preserve-target-tests>off

View File

@@ -8,8 +8,6 @@ BOOST_PARAMETER_NAME(root_vertex)
BOOST_PARAMETER_NAME(index_map)
BOOST_PARAMETER_NAME(color_map)
#include <boost/graph/depth_first_search.hpp> // for dfs_visitor
BOOST_PARAMETER_FUNCTION((bool), depth_first_search, tag,
(required
(graph, *)