Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] develop from boostorg:develop #1

Open
wants to merge 120 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
18779c7
Use the windows-2019 image for VS 2019 CI
Flamefire Mar 4, 2022
df2ca9e
Add test defining BOOST_USE_WINDOWS_H
Flamefire Mar 4, 2022
b54d1c2
Protect test code against min/max macros
Flamefire Mar 4, 2022
365013b
Add missing include: shellapi.h
Flamefire Mar 6, 2022
40c8a79
Sync GHA CI config with boostorg to include MSYS tests
Flamefire Mar 3, 2022
33d8ac6
Merge pull request #147 from Flamefire/fix/missing_include
Flamefire Mar 6, 2022
573b108
Use the windows-2019 image for VS 2019 CI
Flamefire Mar 4, 2022
ea13916
Improve compatibility for recent Cygwin compilers
Flamefire Mar 4, 2022
85bcb25
Improve compatibility for recent MinGW-w64 compilers
Flamefire Mar 4, 2022
c675e5e
Add size-check to the stat_t-using stat function
Flamefire Mar 4, 2022
2ad06c2
Merge pull request #148 from Flamefire/gcc11_ming-w64-compat
Flamefire Mar 7, 2022
9922eaa
Bump version to 11.1.4 and update docu
Flamefire Mar 7, 2022
8d259f1
Enhance CTRL+Z iostream test
Flamefire Mar 8, 2022
09f8167
Docu update especially related to filesystem::path
Flamefire Mar 8, 2022
e82c2ac
Use std::cout for test status data
Flamefire Mar 9, 2022
5c46488
Add more status messages to test_iostream
Flamefire Mar 9, 2022
2c446d1
CI: Update checkout action to v3
Flamefire Mar 9, 2022
27de233
CI: Add VS 2022 CMake test
Flamefire Mar 9, 2022
1e6badc
CI: Remove Visual Studio 2019 CMake test
Flamefire Mar 9, 2022
b88a6d5
Compile and run test_traits only once
Flamefire Mar 16, 2022
d0c9fea
Add test reopening an ofstream after close()
Flamefire Mar 16, 2022
fe2c279
SetConsoleMode for StdIn in iostream integration test
Flamefire Mar 16, 2022
dbb224a
Add explicit CXX standard to Appveyor CMake tests
Flamefire Mar 16, 2022
b8cb762
CI: Skip flaky test-part on affected Appveyor images
Flamefire Mar 17, 2022
0987b8d
Consistently use nullptr instead of NULL/0
Flamefire Mar 17, 2022
1f6e960
Fix return value of sync() when fflush fails
Flamefire Mar 17, 2022
df1591c
Enable -Wundef warning on CI
Flamefire Mar 26, 2022
0a3db91
Fix -Wundef warnings
Flamefire Mar 26, 2022
a4f3cb8
Generate standalone config.hpp from regular config.hpp
Flamefire Mar 26, 2022
a906c3b
Don't force using the custom filebuf (especially on Cygwin)
Flamefire Mar 26, 2022
9acb785
Reenable fstream benchmark code
Flamefire Mar 21, 2022
c28aef3
Fix sign confusion in filebuf sanity check
Flamefire Mar 21, 2022
4cea2ff
Fix MSYS2 builds
Flamefire May 23, 2022
206cb43
Fix MSYS2 builds
Flamefire May 23, 2022
506e899
Tests: Add TEST_CONTEXT
Flamefire Mar 22, 2022
97fa18f
Add more tests for filebuf
Flamefire Mar 22, 2022
c16c196
Only call fflush after actual output
Flamefire Mar 22, 2022
5534a49
Merge pull request #155 from Flamefire/fix-flush
Flamefire May 25, 2022
0e347fd
Add CI using Cygwin 3.1.7 on Appveyor
Flamefire Mar 4, 2022
d078cfe
Add search paths for relative includes
Flamefire Mar 6, 2022
3d10d08
Merge pull request #157 from Flamefire/cygwin-paths
Flamefire Jun 1, 2022
1b9a56a
Update CI from Boost.CI
Flamefire Jun 4, 2022
4c1bfb3
Add test for pbackfail/sungetc/sputbackc
Flamefire Mar 28, 2022
f2eec77
Simplify pbackfail allowing only limited putback
Flamefire Jun 9, 2022
8693fbc
Merge pull request #159 from Flamefire/simplify_putback
Flamefire Jun 10, 2022
401940e
Test: filebuf xsgetn/xsputn & write-only/read-only buf
Flamefire Mar 22, 2022
137686e
Move filebuf members around
Flamefire Mar 27, 2022
a2e6a36
Improve read performance
Flamefire Mar 27, 2022
dd10508
Improve write performance
Flamefire Jun 11, 2022
f3746eb
Fix the fix for flaky Appveyor CI
Flamefire Jun 12, 2022
a5fa79f
Merge pull request #160 from Flamefire/filebuf_perf
Flamefire Jun 12, 2022
8cb8207
Use VS 2019 image for coverity build
Flamefire Jun 13, 2022
9fa0e72
Coverity: Run cov-configure first to generate MSVC config
Flamefire Jun 14, 2022
42b41b2
Replace outdated PublishCoverity by manual commands
Flamefire Jun 14, 2022
d9b1916
Make Curl only output errors
Flamefire Jun 14, 2022
9ae1a23
Coverity: Mark negative counts to xsputn/xsgetn as intended
Flamefire Jun 14, 2022
668165b
Catch any exception in benchmark
Flamefire Jun 14, 2022
993deff
Coverity: Remove space in supression comments
Flamefire Jun 14, 2022
5bb894d
Merge pull request #161 from Flamefire/coverity
Flamefire Jun 14, 2022
52f14e5
Prepare release 11.2.0
Flamefire Jun 24, 2022
d4961eb
Add filebuf::open overload accpting a path object
Flamefire Jun 25, 2022
5aa0b5b
Add tests for const path::value_type*
Flamefire Jun 25, 2022
dee1751
CI: Test standalone release tarball
Flamefire Jun 25, 2022
a091a1a
Update readme
Flamefire Jun 27, 2022
a0327e0
Update license headers
Flamefire Jul 13, 2022
fed43a6
Remove uneccessary cast in test_swap
Flamefire Jul 13, 2022
75f7b51
Fix potential macro redefinition in test_traits
Flamefire Sep 27, 2022
a429813
Use container images of Ubuntu 18.04
Flamefire Oct 17, 2022
cdcd704
Update docs regarding C++11 usage
Flamefire Oct 20, 2022
1e92987
Add `boost::nowide::quoted` to read/write paths from/to streams.
Flamefire Mar 2, 2023
cd3b01d
CI: Extend coverage collection to C++14-20
Flamefire Mar 4, 2023
07af3c6
Increase (internal) version to 11.3.0
Flamefire Mar 12, 2023
683d873
Add FUNDING.yml
Flamefire Jun 20, 2023
149ee7c
Fix false positive warning in GCC 13 on MinGW
Flamefire Jun 21, 2023
8bfeeb3
CI: Fix AzP
Flamefire Jun 22, 2023
6ec7524
CI: Update GHA container jobs
Flamefire Jun 22, 2023
af2b3f5
Fix duplicated PRIVATE in CML
Flamefire Jun 22, 2023
2c40bdd
Reduce duplicated requirements from Jamfiles
Flamefire Mar 9, 2022
f20b831
Add some missing C++11 requirements
Flamefire Mar 16, 2022
26bc5d5
Avoid warning in test
Flamefire Nov 3, 2023
b7a4fa5
Include iomanip before checking feature macros
Flamefire Nov 4, 2023
20bde3d
Fix GHA
Flamefire Nov 4, 2023
fcb82d5
GHA: Don't use Ubuntu 22 container yet
Flamefire Nov 4, 2023
3d2a2c2
AzP: Fix Clang11+
Flamefire Nov 4, 2023
157252a
Appveyor: Update of preinstalled Boost version used
Flamefire Nov 4, 2023
30f94c8
AzP: Add missing GCC_TOOLCHAIN code
Flamefire Nov 4, 2023
a9cea73
Merge pull request #173 from boostorg/fix-warning
Flamefire Nov 5, 2023
3c4e045
Fix warning '_CRT_SECURE_NO_WARNINGS': macro redefinition
Jackarain Dec 25, 2023
e040930
Merge pull request #177 from Jackarain/develop
Flamefire Dec 26, 2023
a4311b7
Appveyor: Drop MinGW32 for MinGW64-32Bit
Flamefire Mar 26, 2024
0605516
Fix a few typos
striezel Apr 30, 2024
7cc49a8
Merge pull request #178 from striezel-stash/fix-typos
Flamefire May 2, 2024
28a2ec2
GHA: Upgrade macos-11 to 12
Flamefire May 2, 2024
5898950
GHA: Improve coverage upload
Flamefire May 2, 2024
9d35cc4
Merge pull request #180 from boostorg/Flamefire-patch-1
Flamefire May 2, 2024
0571844
Update GitHub Actions CI
striezel Apr 30, 2024
dd1a4f1
Add workaround for containers that cannot run Node.js 20
striezel May 3, 2024
5acfcda
Merge pull request #179 from striezel-stash/actions-update
Flamefire May 3, 2024
213c99c
CMake: Build tests only on `make test` (#182)
Flamefire May 16, 2024
2972d9f
Appveyor: Fix CMake args in coverity build
Flamefire May 17, 2024
d4aa719
GHA: Workaround node20 GLIBC issues in older Ubuntu containers
Flamefire Aug 25, 2024
43f53ec
GHA: Use ubuntu-latest for all container jobs
Flamefire Aug 25, 2024
2b46911
Fix appveyor build
Flamefire Aug 25, 2024
85a0b04
GHA: Remove most C++03 tests
Flamefire Aug 25, 2024
84972e2
CI: Fix Clang-Format check
Flamefire Sep 29, 2024
bac0f20
GHA: Add macos-13 & 14
Flamefire Oct 7, 2024
64ae4e0
Add test for buffering behavior of iostreams
Flamefire Oct 17, 2024
00c8a9a
Enhance buffering and target stream handling of iostreams
Flamefire Oct 18, 2024
015be20
Fix test for coverage
Flamefire Oct 18, 2024
fd38460
Fix documentation of enable_if_path_t
Flamefire Nov 22, 2024
ca641dc
GHA: Handle removal of Node 16
Flamefire Nov 27, 2024
dda55a1
Don't use Ubuntu 23:x
Flamefire Nov 27, 2024
51e6d9c
GHA: Update OS versions, remove containers where possible and add new…
Flamefire Dec 10, 2024
1423d15
Use boost.io node
Flamefire Dec 8, 2024
9646dc3
Make `getenv` thread-safe
Flamefire Nov 29, 2024
ff34275
Update changelog
Flamefire Nov 29, 2024
a2d660f
GHA: Fix MinGW test
Flamefire Dec 4, 2024
b9ff85d
Workaround crash on exit for MinGW 32bit
Flamefire Dec 19, 2024
9c673c0
Merge pull request #191 from boostorg/get-env-thread
Flamefire Dec 20, 2024
39ffd8f
GHA: Uprev codecov action to v5
Flamefire Dec 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 68 additions & 54 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# Copyright 2016, 2017 Peter Dimov
# Copyright 2017 - 2019 James E. King III
# Copyright 2019 - 2020 Alexander Grund
# Copyright 2019 - 2022 Alexander Grund
#
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt)
# https://www.boost.org/LICENSE_1_0.txt

version: 1.0.{build}-{branch}

shallow_clone: false
shallow_clone: true

branches:
only:
Expand All @@ -27,7 +28,7 @@ environment:
global:
B2_CI_VERSION: 1
GIT_FETCH_JOBS: 4
# see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties
# see: https://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties
# to use the default for a given environment, comment it out; recommend you build debug and release however:
# on Windows it is important to exercise all the possibilities, especially shared vs static, however most
# libraries that care about this exercise it in their Jamfiles...
Expand All @@ -37,44 +38,44 @@ environment:
B2_VARIANT: release,debug

matrix:
- FLAVOR: Visual Studio 2022
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
- FLAVOR: Visual Studio 2008, 2010, 2012
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
B2_TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0
B2_ADDRESS_MODEL: 32 # No 64bit support

- FLAVOR: Visual Studio 2013, 2015
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
B2_TOOLSET: msvc-12.0,msvc-14.0

- FLAVOR: Visual Studio 2017 C++14/17
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
B2_CXXSTD: 14,17
B2_TOOLSET: msvc-14.1

- FLAVOR: Visual Studio 2017 C++2a Strict
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
B2_CXXFLAGS: -permissive-
B2_CXXSTD: 14,17,20
B2_TOOLSET: msvc-14.3
B2_CXXSTD: 2a
B2_TOOLSET: msvc-14.1

- FLAVOR: Visual Studio 2019
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
B2_CXXFLAGS: -permissive-
B2_CXXSTD: 14,17,2a
B2_TOOLSET: msvc-14.2

- FLAVOR: Visual Studio 2017 C++2a Strict
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- FLAVOR: Visual Studio 2022
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
B2_CXXFLAGS: -permissive-
B2_CXXSTD: 2a
B2_TOOLSET: msvc-14.1

- FLAVOR: Visual Studio 2017 C++14/17
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
B2_CXXSTD: 14,17
B2_TOOLSET: msvc-14.1
B2_CXXSTD: 14,17,20
B2_TOOLSET: msvc-14.3

- FLAVOR: clang-cl
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
B2_ADDRESS_MODEL: 64
B2_CXXSTD: 11,14,17
B2_TOOLSET: clang-win

- FLAVOR: Visual Studio 2015, 2013
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
B2_TOOLSET: msvc-12.0,msvc-14.0

- FLAVOR: Visual Studio 2008, 2010, 2012
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
B2_TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0
B2_ADDRESS_MODEL: 32 # No 64bit support

- FLAVOR: cygwin (32-bit)
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ADDPATH: C:\cygwin\bin;
Expand All @@ -89,13 +90,22 @@ environment:
B2_CXXSTD: 03,11,14,1z
B2_TOOLSET: gcc

- FLAVOR: mingw32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
B2_ADDRESS_MODEL: 32
ADDPATH: C:\mingw\bin;
# (Currently) the images up to 2017 use an older Cygwin
# This tests that the library works with more recent versions
- FLAVOR: cygwin (64-bit, latest)
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
ADDPATH: C:\cygwin64\bin;
B2_ADDRESS_MODEL: 64
B2_CXXSTD: 03,11,14,1z
B2_TOOLSET: gcc

- FLAVOR: mingw64 (32-bit)
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
ADDPATH: C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin;
B2_ADDRESS_MODEL: 32
B2_CXXSTD: 03,11,14,17,2a
B2_TOOLSET: gcc

- FLAVOR: mingw64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
ADDPATH: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;
Expand All @@ -117,21 +127,25 @@ environment:
# CMake builds using preinstalled Boost
- CMAKE: true
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
CXXSTD: 14
GENERATOR: Visual Studio 14 2015 Win64
configuration: Debug
BOOST_ROOT: C:\Libraries\boost_1_60_0
- CMAKE: true
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
GENERATOR: Visual Studio 16 2019
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
CXXSTD: 17
# This test sometimes fails on recent images when using CMake
CMAKE_FLAGS: -DBOOST_NOWIDE_DISABLE_CIN_TEST=ON
GENERATOR: Visual Studio 17 2022
configuration: Debug
BOOST_ROOT: C:\Libraries\boost_1_73_0
BOOST_ROOT: C:\Libraries\boost_1_83_0

# Coverity
- COVERITY: true
# Coverity doesn't really support MSVC 2019 yet
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
GENERATOR: Visual Studio 15 2017
BOOST_ROOT: C:\Libraries\boost_1_69_0
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
GENERATOR: Visual Studio 16 2019
configuration: Debug
BOOST_ROOT: C:\Libraries\boost_1_85_0
COVERITY_SCAN_TOKEN:
secure: FzhGUr+AR/VOBGUta7dDLMDruolChnvyMSvsM/zLvPY=
COVERITY_SCAN_NOTIFICATION_EMAIL:
Expand Down Expand Up @@ -162,8 +176,8 @@ for:
- if exist %INSTALL_DIR%\ (rmdir /S /Q %INSTALL_DIR%)
- mkdir __build_cmake_test__
- cd __build_cmake_test__
- cmake -G "%GENERATOR%" -DCMAKE_INSTALL_PREFIX=%INSTALL_DIR% ..
build_script: cmake --build . --config %configuration% --parallel 4
- cmake -G "%GENERATOR%" -DCMAKE_CXX_STANDARD=%CXXSTD% %CMAKE_FLAGS% -DCMAKE_INSTALL_PREFIX=%INSTALL_DIR% ..
build_script: cmake --build . --config %configuration% --parallel 4 --target tests
test_script:
- ctest --output-on-failure -C %configuration% --parallel 4
- ps: |
Expand All @@ -173,7 +187,7 @@ for:
# Build consumer example test
- cmake --build . --config %configuration% --target install
- del /F /S /Q *
- cmake -DBOOST_NOWIDE_INSTALL_TEST=ON -G "%GENERATOR%" -DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%\installed ../test/cmake_test
- cmake -DBOOST_NOWIDE_INSTALL_TEST=ON -G "%GENERATOR%" -DCMAKE_CXX_STANDARD=%CXXSTD% %CMAKE_FLAGS% -DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%\installed ../test/cmake_test
- cmake --build . --config %configuration%
- ctest --output-on-failure -C %configuration% --parallel 4

Expand All @@ -189,21 +203,21 @@ for:
- cd build
- cmake -G "%GENERATOR%" ..
- ps: |
nuget install -ExcludeVersion PublishCoverity
cov-build.exe --dir cov-int cmake --build . --config $env:configuration
cov-configure --msvc
cov-build --dir cov-int cmake --build . --target tests --config $env:configuration
If ($LastExitCode -ne 0) {
cat cov-int/build-log.txt
$host.SetShouldExit($LastExitCode)
}
PublishCoverity\tools\PublishCoverity.exe compress --nologo -i cov-int -o cov-int.zip --overwrite

# This may fail due to a wrong HTTP 500 code from coverity, hence the stderr redirection via cmd
# to make the build succeed anyway
cmd /c PublishCoverity\tools\PublishCoverity.exe publish --nologo `
-t "$env:COVERITY_SCAN_TOKEN" `
-e "$env:COVERITY_SCAN_NOTIFICATION_EMAIL" `
-r "$env:APPVEYOR_REPO_NAME" `
-z "cov-int.zip" `
-d "Appveyor build for $env:APPVEYOR_REPO_BRANCH" `
--codeVersion "$env:APPVEYOR_REPO_BRANCH" 2`>`&1
Write-Host "Done"
7z a -tzip cov-int.zip cov-int
curl.exe --fail --silent --show-error `
--form token="$env:COVERITY_SCAN_TOKEN" `
--form email="$env:COVERITY_SCAN_NOTIFICATION_EMAIL" `
--form [email protected] `
--form version="$env:APPVEYOR_REPO_BRANCH" `
--form description="Appveyor build for $env:APPVEYOR_REPO_BRANCH" `
https://scan.coverity.com/builds?project=$env:APPVEYOR_REPO_NAME
If ($LastExitCode -ne 0) {
echo "Upload failed"
$host.SetShouldExit($LastExitCode)
}
114 changes: 40 additions & 74 deletions .azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,7 @@
# Copyright 2019 Mateusz Loskot <mateusz at loskot dot net>
# Copyright 2020-2021 Alexander Grund
# 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)

#
# Generic Azure Pipelines build script for boostorg repositories
# See: https://github.com/boostorg/boost-ci/
#
# Instructions for customizing this script for your library:
#
# 1. Customize the compilers and language levels you want.
# 2. If you have more than include/, src/, test/, example/, examples/,
# benchmark/ or tools/ directories, set the environment variable DEPINST.
# For example if your build uses code in "bench/" and "fog/" directories:
# - DEPINST: --include bench --include fog
# 3. Enable pull request builds in your boostorg/<library> account.
#
# That's it - the script will do everything else for you.
# https://www.boost.org/LICENSE_1_0.txt

trigger:
branches:
Expand All @@ -44,44 +29,42 @@ parameters:
- name: jobs
type: object
default:
- { compiler: gcc-11, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: gcc-10, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: gcc-9, cxxstd: '14,17,2a', os: ubuntu-20.04 }
- { compiler: gcc-4.8, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: gcc-4.9, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: gcc-5, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:18.04' }
- { compiler: gcc-6, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:18.04' }
- { compiler: gcc-7, cxxstd: '11,14,17', os: ubuntu-20.04 }
- { compiler: gcc-8, cxxstd: '14,17,2a', os: ubuntu-20.04 }
- { compiler: gcc-7, cxxstd: '11,14,17', os: ubuntu-18.04 }
- { compiler: gcc-6, cxxstd: '11,14', os: ubuntu-18.04 }
- { compiler: gcc-5, cxxstd: '11', os: ubuntu-18.04 }
- { compiler: gcc-4.9, cxxstd: '11', os: ubuntu-18.04, container: 'ubuntu:16.04' }
- { compiler: gcc-4.8, cxxstd: '11', os: ubuntu-18.04 }
- { compiler: clang-12, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: clang-11, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: clang-10, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: gcc-9, cxxstd: '14,17,2a', os: ubuntu-20.04 }
- { compiler: gcc-10, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: gcc-11, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: clang-3.5, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-3.6, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-3.7, cxxstd: '11', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-3.8, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-3.9, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-4.0, cxxstd: '11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-5.0, cxxstd: '11,14,17', os: ubuntu-20.04, container: 'ubuntu:16.04' }
- { compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-20.04 }
- { compiler: clang-7, cxxstd: '14,17', os: ubuntu-20.04 }
- { compiler: clang-8, cxxstd: '14,17', os: ubuntu-20.04 }
- { compiler: clang-9, cxxstd: '14,17,2a', os: ubuntu-20.04 }
- { compiler: clang-8, cxxstd: '14,17', os: ubuntu-18.04, install: 'clang-8 libc6-dbg libc++-dev libstdc++-8-dev' }
- { compiler: clang-7, cxxstd: '14,17', os: ubuntu-18.04, install: 'clang-7 libc6-dbg libc++-dev libstdc++-8-dev' }
- { compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-18.04, install: 'clang-6.0 libc6-dbg libc++-dev libc++abi-dev libstdc++-8-dev' }
- { compiler: clang-10, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: clang-11, cxxstd: '14,17,20', os: ubuntu-20.04 }
- { compiler: clang-14, cxxstd: '14,17,20', os: ubuntu-22.04, gcc_toolchain: 12 }
- { name: Linux_clang_6_libcxx,
compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-18.04, install: 'clang-6.0 libc6-dbg libc++-dev libc++abi-dev libstdc++-8-dev', env: {B2_STDLIB: libc++ } }
- { compiler: clang-5.0, cxxstd: '11,14,17', os: ubuntu-18.04 }
- { compiler: clang-4.0, cxxstd: '11,14', os: ubuntu-18.04 }
- { compiler: clang-3.9, cxxstd: '11,14', os: ubuntu-18.04 }
- { compiler: clang-3.8, cxxstd: '11,14', os: ubuntu-18.04, container: 'ubuntu:16.04' }
- { compiler: clang-3.7, cxxstd: '11', os: ubuntu-18.04, container: 'ubuntu:16.04' }
- { compiler: clang-3.6, cxxstd: '11', os: ubuntu-18.04, container: 'ubuntu:16.04' }
- { compiler: clang-3.5, cxxstd: '11', os: ubuntu-18.04, container: 'ubuntu:16.04' }
compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-20.04, container: 'ubuntu:18.04', install: 'clang-6.0 libc++-dev libc++abi-dev', env: {B2_STDLIB: libc++ } }
# OSX
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 12.4 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 12.3 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 12.2 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 12.1.1 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 12.0.1 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.7 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.6 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.5 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.4.1 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.3.1 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.2.1 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-10.15, xcode: 11.3 }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-11, xcode: '11.7' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-11, xcode: '12.4' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-11, xcode: '12.5.1' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-11, xcode: '13.0' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.1' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.2.1' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.3.1' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.4' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '13.4.1' }
- { compiler: clang, cxxstd: '14,17,2a', os: macOS-12, xcode: '14.0.1' }

stages:
- stage: Test
Expand Down Expand Up @@ -111,6 +94,8 @@ stages:
XCODE_APP: /Applications/Xcode_${{ item.xcode }}.app
${{ if item.install }}:
PACKAGES: ${{ item.install }}
${{ if item.gcc_toolchain }}:
GCC_TOOLCHAIN: ${{ item.gcc_toolchain }}
${{ each var in item.env }}:
${{var.Key}}: ${{var.Value}}
steps:
Expand Down Expand Up @@ -148,34 +133,15 @@ stages:

cd $BOOST_ROOT/libs/$SELF
ci/azure-pipelines/build.sh
displayName: 'Build'

- job: 'Windows'
- job: Windows
timeoutInMinutes: 120
strategy:
matrix:
VS_2022:
B2_TOOLSET: msvc-14.3
B2_CXXSTD: 14,17,20
B2_ADDRESS_MODEL: 32,64
VM_IMAGE: 'windows-2022'
VS_2022_strict:
B2_TOOLSET: msvc-14.3
B2_CXXSTD: 14,17,20
B2_CXXFLAGS: -permissive-
B2_ADDRESS_MODEL: 32,64
VM_IMAGE: 'windows-2022'
VS_2019:
B2_TOOLSET: msvc-14.2
B2_CXXSTD: 14,17,20
B2_ADDRESS_MODEL: 32,64
VM_IMAGE: 'windows-2019'
VS_2019_strict:
B2_TOOLSET: msvc-14.2
B2_CXXSTD: 14,17,20
B2_CXXFLAGS: -permissive-
B2_ADDRESS_MODEL: 32,64
VM_IMAGE: 'windows-2019'
VS_2019: { B2_TOOLSET: msvc-14.2, B2_CXXSTD: '14,17,20', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2019 }
VS_2019_strict: { B2_TOOLSET: msvc-14.2, B2_CXXSTD: '14,17,20', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2019, B2_CXXFLAGS: -permissive- }
VS_2022: { B2_TOOLSET: msvc-14.3, B2_CXXSTD: '14,17,20', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2022 }
VS_2022_strict: { B2_TOOLSET: msvc-14.3, B2_CXXSTD: '14,17,20', B2_ADDRESS_MODEL: '32,64', VM_IMAGE: windows-2022, B2_CXXFLAGS: -permissive- }

pool:
vmImage: $(VM_IMAGE)
Expand Down
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: Flamefire
Loading