Boost.Mp11 no longer supports C++17 mode with clang-5.0 and causes
compile errors in Boost.MultiIndex and Boost.PropertyTree.
Refs https://github.com/boostorg/mp11/issues/111.
The windows-2019 image is deprecated and will soon be removed. This
means MSVC versions prior to 14.3 are no longer tested in GitHub
Actions, only on AppVeyor CI.
In order to avoid CI job timeouts, split MSVC 14.3 into two jobs,
one for C++14 and extra header tests and another one for other
C++ versions.
Boost.ASIO does not compile in C++11 mode on gcc prior to 5 as it uses
std::align.
Clang prior to 16 does not support libstdc++13 that is installed in
GHA ubuntu-22.04 image by default in C++20 mode. Use libstdc++11
instead.
- Added gcc-12 and clang-13 through 15 jobs.
- Added C++23 testing for gcc and clang on Linux.
- Updated clang version for UBSAN job.
- Updated Ubuntu version for clang jobs to avoid having to use external APT
repository.
- Updated python package installation for compatibility with Ubuntu 22.04.
In Ubuntu 20.04 there appeared an updated version of the
software-properties-common package in focal-updates, which ships a newer
apt-add-repository version that doesn't support -P/-S/-U command line arguments.
Since we cannot rely on package version checks to determine apt-add-repository
capabilities, we have to parse its --help output instead.
Also, made source list processing more protected against spaces.
Removing newer C++ versions from MacOS CI job didn't help with job hanging,
so we're restoring the complete C++ version list.
As another attempt to work around the problem, disable signal handling
and debugger attaching in Boost.Test. This is in case if there is a genuine
problem with a test crashing and Boost.Test preventing the process from
terminating.