Update CI workflow for newer GitHub runners and toolchains, retaining MSVC v142 compatibility

This commit is contained in:
Steffen Schümann 2026-07-10 19:32:57 +02:00
parent 79ce44f0a6
commit 30ea991a26
2 changed files with 16 additions and 7 deletions

View File

@ -56,11 +56,12 @@ jobs:
cc: gcc-11 cc: gcc-11
cxx: g++-11 cxx: g++-11
- name: "Windows MSVC 2019" - name: "Windows MSVC v142 (VS 2019 toolset)"
os: windows-2019 os: windows-2022
build_type: Release build_type: Release
packages: ninja packages: ninja
generator: "Visual Studio 16 2019" generator: "Visual Studio 17 2022"
toolset: v142
compatibility: "cxx_std_11;cxx_std_17;cxx_std_20" compatibility: "cxx_std_11;cxx_std_17;cxx_std_20"
cc: cl cc: cl
cxx: cl cxx: cl
@ -125,14 +126,18 @@ jobs:
run: | run: |
export CC=${{ matrix.config.cc }} export CC=${{ matrix.config.cc }}
export CXX=${{ matrix.config.cxx }} export CXX=${{ matrix.config.cxx }}
toolset_args=()
if [[ -n "${{ matrix.config.toolset }}" ]]; then
toolset_args=(-T "${{ matrix.config.toolset }}")
fi
ninja --version ninja --version
cmake --version cmake --version
mkdir build mkdir build
mkdir install mkdir install
if [[ "${{ matrix.config.build_type }}" == "Debug" ]]; then if [[ "${{ matrix.config.build_type }}" == "Debug" ]]; then
cmake -G "${{ matrix.config.generator }}" -S . -B build -DCMAKE_BUILD_TYPE=Debug -DGHC_COVERAGE=ON -DGHC_FILESYSTEM_TEST_COMPILE_FEATURES="${{ matrix.config.compatibility }}" -DCMAKE_INSTALL_PREFIX:PATH=install cmake -G "${{ matrix.config.generator }}" "${toolset_args[@]}" -S . -B build -DCMAKE_BUILD_TYPE=Debug -DGHC_COVERAGE=ON -DGHC_FILESYSTEM_TEST_COMPILE_FEATURES="${{ matrix.config.compatibility }}" -DCMAKE_INSTALL_PREFIX:PATH=install
else else
cmake -G "${{ matrix.config.generator }}" -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} -DGHC_FILESYSTEM_TEST_COMPILE_FEATURES="${{ matrix.config.compatibility }}" -DCMAKE_INSTALL_PREFIX:PATH=install cmake -G "${{ matrix.config.generator }}" "${toolset_args[@]}" -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} -DGHC_FILESYSTEM_TEST_COMPILE_FEATURES="${{ matrix.config.compatibility }}" -DCMAKE_INSTALL_PREFIX:PATH=install
fi fi
- name: Build project - name: Build project
@ -288,4 +293,4 @@ jobs:
run: cmake --build build run: cmake --build build
- name: Test - name: Test
run: cd build && ctest --output-on-failure run: cd build && ctest --output-on-failure

View File

@ -651,6 +651,11 @@ to the expected behavior.
* Fix for [#166](https://github.com/gulrak/filesystem/issues/166), * Fix for [#166](https://github.com/gulrak/filesystem/issues/166),
`extension()` did return non empty result for the directory name `extension()` did return non empty result for the directory name
`".."` `".."`
* Fix for [#203](https://github.com/gulrak/filesystem/issues/203), directory
iteration and `proximate()` are available in builds without exception
support, with iteration errors terminating the process.
* Updated CI for current GitHub runners and compiler toolchains, retaining
MSVC v142 coverage.
### [v1.5.14](https://github.com/gulrak/filesystem/releases/tag/v1.5.14) ### [v1.5.14](https://github.com/gulrak/filesystem/releases/tag/v1.5.14)
@ -1176,4 +1181,3 @@ to the expected behavior.
This was the first public release version. It implements the full range of This was the first public release version. It implements the full range of
C++17 `std::filesystem`, as far as possible without other C++17 dependencies. C++17 `std::filesystem`, as far as possible without other C++17 dependencies.