diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a9ec728a62..a0b0121f56 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -732,6 +732,8 @@ jobs: ./ci/install_windows_protobuf.ps1 - name: run cmake test (DLL build) run: ./ci/do_ci.ps1 cmake.dll.test + - name: run cmake cxx20 test (DLL build) + run: ./ci/do_ci.ps1 cmake.dll.cxx20.test - name: run otprotocol test (DLL build) run: ./ci/do_ci.ps1 cmake.exporter.otprotocol.dll.test diff --git a/CHANGELOG.md b/CHANGELOG.md index 89624f88cf..478e24edb9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ Increment the: [#2449](https://github.com/open-telemetry/opentelemetry-cpp/pull/2449) * [BUILD] Introduce CXX 20 CI pipeline for MSVC/Windows [#2450](https://github.com/open-telemetry/opentelemetry-cpp/pull/2450) +* [BUILD] Add DLL build CI pipeline with CXX20 + [#2465](https://github.com/open-telemetry/opentelemetry-cpp/pull/2465) * [EXPORTER] Set `is_monotonic` flag for Observable Counters [#2478](https://github.com/open-telemetry/opentelemetry-cpp/pull/2478) * [PROTO] Upgrade to opentelemetry-proto v1.1.0 diff --git a/ci/do_ci.ps1 b/ci/do_ci.ps1 index a1e8c10014..bdab94ae04 100644 --- a/ci/do_ci.ps1 +++ b/ci/do_ci.ps1 @@ -90,6 +90,44 @@ switch ($action) { exit $exit } } + "cmake.dll.cxx20.test" { + cd "$BUILD_DIR" + cmake $SRC_DIR ` + -DCMAKE_CXX_STANDARD=20 ` + -DVCPKG_TARGET_TRIPLET=x64-windows ` + -DOPENTELEMETRY_BUILD_DLL=1 ` + "-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 + } + $env:PATH = "$BUILD_DIR\ext\src\dll\Debug;$env:PATH" + examples\simple\Debug\example_simple.exe + $exit = $LASTEXITCODE + if ($exit -ne 0) { + exit $exit + } + examples\metrics_simple\Debug\metrics_ostream_example.exe + $exit = $LASTEXITCODE + if ($exit -ne 0) { + exit $exit + } + examples\logs_simple\Debug\example_logs_simple.exe + $exit = $LASTEXITCODE + if ($exit -ne 0) { + exit $exit + } + } "cmake.maintainer.test" { cd "$BUILD_DIR" cmake $SRC_DIR `