implement ADO packaging pipeline for FLC & SDK#552
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Pull request overview
Adds an Azure DevOps (1ES) packaging pipeline that builds Foundry Local Core (from neutron-server), then uses the produced Core NuGet to build/test/package the C# and JS SDKs in this repo (including signing).
Changes:
- Introduces a new
foundry-local-packaging.ymlpipeline orchestrating Core build, Core NuGet packaging, and SDK builds. - Adds reusable templates for building Core per-RID, packaging the Core NuGet, and building/packing the C# and JS SDKs.
- Integrates ESRP signing for produced NuGet artifacts (Core + C# SDK).
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
.pipelines/foundry-local-packaging.yml |
Orchestrates multi-stage ADO pipeline for Core + SDK packaging. |
.pipelines/templates/build-core-steps.yml |
Builds/publishes per-platform Core native AOT binaries and stages them as artifacts. |
.pipelines/templates/package-core-steps.yml |
Collects per-platform Core artifacts into NuGet layout, then packs/signs the Core NuGet. |
.pipelines/templates/build-cs-steps.yml |
Restores/builds/tests/signs/packs the C# SDK using the locally built Core package. |
.pipelines/templates/build-js-steps.yml |
Builds/tests/packs the JS SDK and overwrites installed Core binaries from the locally built Core NuGet. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated 13 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 22 out of 22 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (1)
sdk/python/build_backend.py:216
skip-native-depsis applied to most PEP 517 hooks via_apply_patches, butbuild_sdist()still only applies the WinML patch and ignoresskip-native-deps. This makes behavior inconsistent across hooks and can produce sdists whose dependency metadata still includes the native pins even whenskip-native-depsis enabled. Consider switchingbuild_sdist()to use_apply_patches(config_settings)as well.
def build_sdist(sdist_directory, config_settings=None):
if _is_winml(config_settings):
with _patch_for_winml():
return _sb.build_sdist(sdist_directory, config_settings)
return _sb.build_sdist(sdist_directory, config_settings)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Foundry Local Packaging Pipeline
Summary
This PR introduces the Foundry Local Packaging Pipeline, a unified ADO pipeline that builds, signs, and tests Foundry Local Core (FLC) for all platforms, packages it as NuGet and Python wheels, then builds, signs, and tests the C#, JS, Python, and Rust SDKs — for both standard and WinML variants.
Pipeline stages:
Produced artifacts:
flc-nuget,flc-nuget-winml,flc-wheels,flc-wheels-winml,cs-sdk,cs-sdk-winml,js-sdk,js-sdk-winml,python-sdk,python-sdk-winml,rust-sdk,rust-sdk-winmlSDK Changes:
foundry-local-core,onnxruntime,onnxruntime-genaiTest coverage
All SDK tests currently run on win-x64 only. Additional platform test jobs are blocked on infrastructure:
TODOs are tracked in the pipeline YAML for each.
Build strategy
All FLC builds (including win-arm64 and osx-arm64) run on x64 machines because .NET Native AOT supports cross-compilation. The win-arm64 build cross-compiles from x64 Windows — see Cross-compilation docs. Linux builds run on its own respective x64 hosted image.
Origin
neutron-server/.pipelines/FoundryLocalCore/Foundry-Local/.github/