diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bc585fc26e..d55a5ce26f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -334,6 +334,27 @@ jobs: CXX_STANDARD: '20' run: ./ci/do_ci.ps1 cmake.maintainer.cxx20.stl.test + cmake_msvc_maintainer_test_stl_cxx20_dll: + name: CMake msvc (maintainer mode) with C++20 (Build as DLL) + runs-on: windows-latest + steps: + - name: Harden the runner (Audit all outbound calls) + uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 + with: + egress-policy: audit + + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + submodules: 'recursive' + - name: setup + run: | + ./ci/setup_cmake.ps1 + ./ci/setup_windows_ci_environment.ps1 + - name: run tests (Build as DLL) + env: + CXX_STANDARD: '20' + run: ./ci/do_ci.ps1 cmake.maintainer.cxx20.stl.dll.test + cmake_msvc_maintainer_abiv2_test: name: CMake msvc (maintainer mode, abiv2) runs-on: windows-latest diff --git a/ci/do_ci.ps1 b/ci/do_ci.ps1 index 87aa73b6fa..e11f7af5c5 100644 --- a/ci/do_ci.ps1 +++ b/ci/do_ci.ps1 @@ -189,6 +189,32 @@ switch ($action) { exit $exit } } + "cmake.maintainer.cxx20.stl.dll.test" { + cd "$BUILD_DIR" + cmake $SRC_DIR ` + -DOPENTELEMETRY_BUILD_DLL=1 ` + -DWITH_STL=CXX20 ` + -DCMAKE_CXX_STANDARD=20 ` + -DWITH_OTLP_GRPC=ON ` + -DWITH_OTLP_HTTP=ON ` + -DWITH_OTLP_RETRY_PREVIEW=ON ` + -DVCPKG_TARGET_TRIPLET=x64-windows ` + "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake" + $exit = $LASTEXITCODE + if ($exit -ne 0) { + exit $exit + } + cmake --build . -j $nproc + $exit = $LASTEXITCODE + if ($exit -ne 0) { + exit $exit + } + ctest -C Debug + $exit = $LASTEXITCODE + if ($exit -ne 0) { + exit $exit + } + } "cmake.maintainer.abiv2.test" { cd "$BUILD_DIR" cmake $SRC_DIR `