* ci: replace macOS 10.15 with macOS 11 in CI workflow
GitHub started the deprecation process for macOS 10.15 runners
on 2022-05-31, and macOS 10.15 will be completely unsupported by
2022-08-30 (if things proceed as planned).
See <https://github.com/actions/runner-images/issues/5583> for
more information on the removal of the macOS 10.15 images.
This issue already hit us during the build for PR #716, because
at that time there was a scheduled brownout for macOS 10.15
builds to raise awareness of the upcoming removal.
* ci: remove Azure pipeline build configuration
See <https://github.com/boostorg/gil/pull/717#issuecomment-1212415021>.
Otherwise, if commit message is long and `--More--` displayed,
then the build will hang and eventually terminate with:
Too long with no output (exceeded 10m0s): context deadline exceeded
Split header tests accordingly i.e. test core headers as part of
core tests, numeric extension headers as part of numeric tests, etc.
It extends the convention of sub-directories already established in
`include/boost/gil` directory. It is sensible to follow it in other
areas of the source tree (i.e. `test/`, `doc/` and `benchmark/`).
Another important reason to move the tests is to enable removal of
the top-level `Jamfile` with all its definitions of test-specific
requirements.
The top-level `Jamfile` is not advised, especially if it specifies
build requirements like C++ language version.
Those affect non-tests builds e.g. documentation, causing failures
during generation of HTML documentation (leads to missing docs).
The stats may be a long list of files and some CI services
(e.g. CircleCI) freeze with `--More--` eventually failing
due to `Too long with no output (exceeded 10m0s)`
Linux and Windows images now come with pre-installed Boost 1.69.
Since it is not possible to remove GIL headers from it, we should
prefer our deployment of Boost.
References:
* #276
* C/C++: Add the latest 4 versions of Boost 1.66.0 - 1.69.0 (Linux, Windows)
Microsoft/azure-pipelines-image-generation#732
* Document available versions of Boost 1.66.0 - 1.69.0 following #732 update
Microsoft/azure-pipelines-image-generation#845
* Install latest CMake and Python on VS 2015 image.
* Remove libs/gil from installed Boost 1.68 to ensure GIL headers
from the release are not accidentally used
Configuration summary:
- Linux (GCC 5.4), Windows (VS2017), Mac OS (clang 4.0)
- Boost 1.68 built with variant=release
- Boost.GIL built and tested using CMake w/ CMAKE_BUILD_TYPE=Release
- Basic setup of GIL IO extension dependencies is in place,
using .deb packages or Conan.
- Build without GIL IO extension tests due to issues in CMake
configuration, not related to Azure Pipelines.
Closes#188
[skip appveyor]
[skip travis]
The build variants enable group of checks offered by clang
UndefinedBehaviorSanitizer detector.
Add sanitizers suppression file in .ci/blacklist.supp based on
copy of the file from Boost.Beast.
Update Travis CI:
- Add .ci/build-and-test.sh script as handy proxy for b2 command.
- Add build jobs for each of the three new UBSan variants.
- Display COMPILER and VARIANT first as these two are most important
details while inspecting the build matrix
(TOOLSET can be derived from COMPILER).