Skip to content

integrates cpp sdk with CIs and prepares for source code publishing strategy#676

Open
prathikr wants to merge 11 commits intomainfrom
prathikrao/cpp-ci-integration
Open

integrates cpp sdk with CIs and prepares for source code publishing strategy#676
prathikr wants to merge 11 commits intomainfrom
prathikrao/cpp-ci-integration

Conversation

@prathikr
Copy link
Copy Markdown
Contributor

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

File What Changed
build-cpp-steps.yml (new) Patches version, bootstraps vcpkg, CMake configure/build/install, packages zip artifact
test-cpp-steps.yml (new) Extracts Core DLL from .nupkg, builds with tests, runs unit + E2E tests, publishes JUnit results
FoundryLocalNativeDeps.cmake (new) Auto-downloads Core/ORT/GenAI DLLs from NuGet at configure time; supports FOUNDRY_NATIVE_OVERRIDE_DIR override for CI
CppSdkConfig.cmake.in (new) Package config for find_package(CppSdk)
foundry-local-packaging.yml Added 4 stages: build_cpp, test_cpp, build_cpp_winml, test_cpp_winml
CMakeLists.txt Added native dep downloading, post-build DLL copy, and install rules
README.md Updated with vcpkg install instructions

Native dependency flow

  • Local dev: CMake downloads .nupkg from NuGet, extracts RID-specific DLLs, caches in build dir.
  • CI: Pipeline extracts DLLs from the pipeline-built .nupkg and sets FOUNDRY_NATIVE_OVERRIDE_DIR so 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 (or foundry-local-sdk[winml]). A standalone zip is also produced as a fallback.

Copilot AI review requested due to automatic review settings April 24, 2026 18:55
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
foundry-local Ready Ready Preview, Comment Apr 29, 2026 8:32pm

Request Review

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread sdk/cpp/cmake/FoundryLocalNativeDeps.cmake
Comment thread sdk/cpp/cmake/FoundryLocalNativeDeps.cmake
Comment thread sdk/cpp/cmake/FoundryLocalNativeDeps.cmake
Comment thread sdk/cpp/cmake/FoundryLocalNativeDeps.cmake
Comment thread sdk/cpp/cmake/FoundryLocalNativeDeps.cmake
Comment thread sdk/cpp/README.md
Comment thread sdk/cpp/cmake/FoundryLocalNativeDeps.cmake
@prathikr prathikr changed the title integrates cpp sdk with CIs and prepares for vcpkg publishing strategy integrates cpp sdk with CIs and prepares for source code publishing strategy Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants