Skip to content

decouples webgpu ep version from foundry local version#805

Open
prathikr wants to merge 4 commits into
mainfrom
prathikrao/webgpu-plugin-ep-nuget
Open

decouples webgpu ep version from foundry local version#805
prathikr wants to merge 4 commits into
mainfrom
prathikrao/webgpu-plugin-ep-nuget

Conversation

@prathikr

Copy link
Copy Markdown
Contributor

pulls webgpu plugin ep from nuget.org

Copilot AI review requested due to automatic review settings June 15, 2026 23:24
@vercel

vercel Bot commented Jun 15, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
foundry-local Ready Ready Preview, Comment Jun 16, 2026 5:17pm

Request Review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR decouples the WebGPU Execution Provider version from the Foundry Local SDK version by switching from a custom CDN manifest-based download to pulling the WebGPU EP directly from NuGet.org. This enables the EP to be updated independently, using NuGet's flat-container V3 API for version resolution and package download, with CMS/PKCS#7 author signature verification replacing the previous SHA-256 hash verification.

Changes:

  • Replaced the custom manifest-based download flow in webgpu_ep_bootstrapper.cc with NuGet V3 flat-container resolution: discovers the package base address from the NuGet service index, resolves the latest stable version, and downloads the .nupkg directly.
  • Introduced OpenSSL-based NuGet author signature verification (VerifyMicrosoftNuGetAuthorSignature) in ep_utils.cc that checks the CMS signature chain against system trust stores (CryptoAPI on Windows, OpenSSL X509 store on Linux/macOS) and validates the "Microsoft Corporation" signer organization.
  • Moved the SHA-256 hash verification logic locally into cuda_ep_bootstrapper.cc (as VerifyCudaPackage) since the shared VerifyEpPackage utility was removed in favor of the NuGet-specific verification approach.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
sdk_v2/cpp/src/ep_detection/webgpu_ep_bootstrapper.cc Replaces CDN manifest with NuGet V3 flat-container resolution; adds version-file based caching and signature verification before extraction
sdk_v2/cpp/src/ep_detection/ep_utils.h Replaces VerifyEpPackage API with ExtractNuGetRuntimePayload and VerifyMicrosoftNuGetAuthorSignature
sdk_v2/cpp/src/ep_detection/ep_utils.cc Full rewrite: implements NuGet runtime payload extraction and CMS signature verification using OpenSSL + CryptoAPI
sdk_v2/cpp/src/ep_detection/cuda_ep_bootstrapper.cc Inlines SHA-256 verification as VerifyCudaPackage since the shared utility was removed
sdk_v2/cpp/CMakeLists.txt Adds find_package(OpenSSL REQUIRED) and links OpenSSL::Crypto

Comment thread sdk_v2/cpp/src/ep_detection/cuda_ep_bootstrapper.cc Outdated
Comment thread sdk_v2/cpp/src/ep_detection/webgpu_ep_bootstrapper.cc Outdated
Comment thread sdk_v2/cpp/src/ep_detection/webgpu_ep_bootstrapper.cc
Comment thread sdk_v2/cpp/CMakeLists.txt
Comment thread sdk_v2/cpp/src/ep_detection/webgpu_ep_bootstrapper.cc Outdated
Comment thread sdk_v2/cpp/src/ep_detection/webgpu_ep_bootstrapper.cc
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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