integrates cpp sdk with CIs and prepares for source code publishing strategy#676
Open
integrates cpp sdk with CIs and prepares for source code publishing strategy#676
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Integrates the C++ SDK into the CI/CD packaging and testing pipeline, including CMake packaging support and automatic acquisition/copying of native runtime dependencies for local dev and CI.
Changes:
- Added CI templates to build, package, and test the C++ SDK (standard + WinML variants) and publish artifacts/results.
- Added CMake install/export support (
find_package(CppSdk)) and a helper CMake module to download/copy native dependencies at configure/build time. - Added a C++ SDK README with vcpkg installation and usage instructions.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/cpp/cmake/FoundryLocalNativeDeps.cmake | Adds CMake logic to download/extract native DLLs from NuGet and copy them next to executables. |
| sdk/cpp/cmake/CppSdkConfig.cmake.in | Adds CMake package config to support find_package(CppSdk) with dependencies. |
| sdk/cpp/README.md | Documents C++ SDK features, vcpkg install, build-from-source, and native dependency workflow. |
| sdk/cpp/CMakeLists.txt | Adds native dep download/copy integration and install/export rules for packaging. |
| .pipelines/templates/test-cpp-steps.yml | New pipeline template to build and run unit + E2E tests and publish JUnit results. |
| .pipelines/templates/build-cpp-steps.yml | New pipeline template to patch versions, build/install, and zip the SDK artifact. |
| .pipelines/foundry-local-packaging.yml | Adds build/test stages for C++ SDK (standard + WinML) to the packaging pipeline. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add C++ SDK to CI/CD Pipeline
Integrates the C++ SDK into the packaging pipeline with build, test, and artifact publishing for both standard and WinML variants.
Changes
build-cpp-steps.yml(new)test-cpp-steps.yml(new).nupkg, builds with tests, runs unit + E2E tests, publishes JUnit resultsFoundryLocalNativeDeps.cmake(new)FOUNDRY_NATIVE_OVERRIDE_DIRoverride for CICppSdkConfig.cmake.in(new)find_package(CppSdk)foundry-local-packaging.ymlbuild_cpp,test_cpp,build_cpp_winml,test_cpp_winmlCMakeLists.txtREADME.mdNative dependency flow
.nupkgfrom NuGet, extracts RID-specific DLLs, caches in build dir..nupkgand setsFOUNDRY_NATIVE_OVERRIDE_DIRso CMake skips the download.vcpkg publishing
Once the first tagged release ships, a port PR goes to microsoft/vcpkg. Consumers will use
vcpkg install foundry-local-sdk(orfoundry-local-sdk[winml]). A standalone zip is also produced as a fallback.