1212 SECRET_RESULTS_SHEET_ID : ${{ secrets.RESULTS_SHEET_ID }}
1313jobs :
1414 build_and_test :
15- name : ' ${{ matrix.os }}: build and test (install mdns: ${{ matrix.install_mdns }}, use conan: ${{ matrix.use_conan }}, force cpprest asio: ${{ matrix.force_cpprest_asio }}, dns-sd mode: ${{ matrix.dns_sd_mode}}, enable_authorization: ${{ matrix.enable_authorization }})'
15+ name : " ${{ matrix.os }}: build and test (C++ standard: ${{ matrix.cxx_standard || 'minimum' }}, install mdns: ${{ matrix.install_mdns }}, use conan: ${{ matrix.use_conan }}, force cpprest asio: ${{ matrix.force_cpprest_asio }}, dns-sd mode: ${{ matrix.dns_sd_mode}}, enable_authorization: ${{ matrix.enable_authorization }})"
1616 runs-on : ${{ matrix.os }}
1717 strategy :
1818 fail-fast : false
4949 - os : ubuntu-24.04
5050 force_cpprest_asio : true
5151 include :
52+ # exercise std::filesystem on VS 2026; regular windows-2025 jobs use the minimum standard
53+ - os : windows-2025
54+ install_mdns : false
55+ use_conan : true
56+ force_cpprest_asio : false
57+ dns_sd_mode : multicast
58+ enable_authorization : true
59+ cxx_standard : 17
5260 # keep one VS 2022 job while validating VS 2026 on windows-2025
5361 - os : windows-2022
5462 install_mdns : false
@@ -69,16 +77,21 @@ jobs:
6977 authorization_mode=noauth
7078 fi
7179
80+ if [[ -n "${{ matrix.cxx_standard }}" ]]; then
81+ cxx_standard_suffix="_cxx${{ matrix.cxx_standard }}"
82+ echo "CMAKE_EXTRA_ARGS=${{ env.CMAKE_EXTRA_ARGS }} -DCMAKE_CXX_STANDARD=${{ matrix.cxx_standard }}" >> $GITHUB_ENV
83+ fi
84+
7285 if [[ "${{ runner.os }}" == "Linux" ]]; then
7386 if [[ "${{ matrix.install_mdns }}" == "true" ]]; then
74- echo "BUILD_NAME=${{ matrix.os }}_mdns_${{ matrix.dns_sd_mode }}_$authorization_mode" >> $GITHUB_ENV
87+ echo "BUILD_NAME=${{ matrix.os }}_mdns_${{ matrix.dns_sd_mode }}_$authorization_mode$cxx_standard_suffix " >> $GITHUB_ENV
7588 else
76- echo "BUILD_NAME=${{ matrix.os }}_avahi_${{ matrix.dns_sd_mode }}_$authorization_mode" >> $GITHUB_ENV
89+ echo "BUILD_NAME=${{ matrix.os }}_avahi_${{ matrix.dns_sd_mode }}_$authorization_mode$cxx_standard_suffix " >> $GITHUB_ENV
7790 fi
7891 elif [[ "${{ matrix.force_cpprest_asio }}" == "true" ]]; then
79- echo "BUILD_NAME=${{ matrix.os }}_asio_$authorization_mode" >> $GITHUB_ENV
92+ echo "BUILD_NAME=${{ matrix.os }}_asio_$authorization_mode$cxx_standard_suffix " >> $GITHUB_ENV
8093 else
81- echo "BUILD_NAME=${{ matrix.os }}_$authorization_mode" >> $GITHUB_ENV
94+ echo "BUILD_NAME=${{ matrix.os }}_$authorization_mode$cxx_standard_suffix " >> $GITHUB_ENV
8295 fi
8396 GITHUB_COMMIT=`echo "${{ github.sha }}" | cut -c1-7`
8497 echo "GITHUB_COMMIT=$GITHUB_COMMIT" >> $GITHUB_ENV
0 commit comments