Skip to content

[WSLC] Consume WSLC SDK from MxcDependencies feed (2.9.3) - #664

Merged
Soham Das (SohamDas2021) merged 4 commits into
mainfrom
user/sodas/wslc-public-nuget-consumption
Jul 22, 2026
Merged

[WSLC] Consume WSLC SDK from MxcDependencies feed (2.9.3)#664
Soham Das (SohamDas2021) merged 4 commits into
mainfrom
user/sodas/wslc-public-nuget-consumption

Conversation

@SohamDas2021

@SohamDas2021 Soham Das (SohamDas2021) commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

📖 Description

Migrates the WSLc SDK (Microsoft.WSL.Containers) from a local .nupkg to consuming it from the anonymous read MxcDependencies Azure Artifacts feed and bumps the pinned version from 2.8.1 to 2.9.3. nuget.org is not allowlisted in the 1ES build pool, so the feed is used directly via a stable content URL.

Swapped local 2.8.1.nupkg -> 2.9.3.nupkg; external/wslc-sdk/README.md rewritten for the feed-first + fallback flow.

🔗 References

🔍 Validation

✅ Checklist

📋 Issue Type

  • Bug fix
  • Feature
  • Task

GitHub Actions runs the PR validation build automatically. The ADO pipeline
(MXC-PR-Build) is the Azure version of the PR pipeline, kept in parity with the GitHub
Actions build; it runs on merge to main, and Microsoft reviewers with write access can trigger it
on a PR with /azp run. See docs/pull-requests.md.

If the dependency-feed-check check fails on a new dependency, the crate must be added to
the feed before the PR can pass. See docs/pull-requests.md
for the steps.

Copilot AI review requested due to automatic review settings July 20, 2026 23:22
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

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 updates MXC’s WSLC backend to consume the Microsoft.WSL.Containers SDK from the public, anonymous-read MxcDependencies Azure Artifacts feed (instead of relying solely on a locally vendored .nupkg), and bumps the pinned SDK/runtime version to 2.9.3. It also updates Rust/TypeScript/docs references to remove hard-coded “2.8.1 vendored runtime” wording and aligns bindings/call sites with the newer SDK surface.

Changes:

  • Update wslc_common build script to download/extract the WSLC SDK .nupkg from the MxcDependencies feed (with WSLC_SDK_PATH override and vendored fallback).
  • Update WSLC FFI bindings + runner to reflect SDK ABI/symbol changes (e.g., WslcGetMissingComponents, working directory setter, struct sizes).
  • Refresh schema / generated wire docs / SDK docs and tests to remove version-pinned wording and reflect the new consumption model.

Reviewed changes

Copilot reviewed 13 out of 16 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/core/wxc_common/src/wire.rs Updates WSLC port_mappings docstring to remove the old “vendored 2.8.1” wording while keeping UDP limitation note.
src/core/wxc_common/src/config_parser.rs Updates TCP-only/UDP-rejection comments and keeps the UDP rejection test aligned.
src/backends/wslc/common/src/wslc_bindings.rs Updates SDK ABI details (opaque struct sizes, new component flag, renamed/updated function types, pull options field rename).
src/backends/wslc/common/src/wsl_container_runner.rs Switches preflight from WslcCanRun to WslcGetMissingComponents, updates working directory setter name, and updates pull options field usage.
src/backends/wslc/common/build.rs Downloads the .nupkg from the MxcDependencies feed, extracts it, and copies wslcsdk.dll next to the built binary; retains vendored fallback.
sdk/node/tests/integration/wslc-e2e.test.ts Updates test comment wording about UDP limitation to avoid pinning to 2.8.1.
sdk/node/src/types.ts Updates public SDK doc comments for WSLC port mappings to remove “vendored 2.8.1” wording.
sdk/node/src/generated/wire.ts Regenerates/updates wire doc text for WSLC port mappings.
schemas/dev/mxc-config.schema.0.8.0-dev.json Updates schema description text for WSLC port mappings to remove “vendored 2.8.1” wording.
external/wslc-sdk/README.md Documents the new feed-based resolution order, version pin location, and update process.
docs/wsl/wsl-container-support-plan.md Updates WSLC SDK version and consumption description (but still contains some outdated API-name references).
docs/wsl/wsl-container-getting-started.md Bumps documented WSL minimum/runtime expectation to 2.9.3+.
docs/schema.md Updates example comment wording around WSLC UDP limitation to remove “vendored 2.8.1”.
docs/linux-wsl-roadmap-june-2026.md Updates wording around UDP limitation to remove “Microsoft.WSL.Containers 2.8.1” mention.
Comments suppressed due to low confidence (1)

docs/wsl/wsl-container-support-plan.md:200

  • This section still lists WslcCanRun() as the preflight API, but the implementation has switched to WslcGetMissingComponents(). Updating this keeps the support plan aligned with the current code and SDK surface.
Rust FFI declarations for the WSLC SDK C API (v2.9.3). Hand-written `extern "C"`
blocks from `wslcsdk.h`. Key bindings (actual API names from the SDK):

Session APIs:
- `WslcCanRun()` — preflight: check if WSLC runtime is available

Comment thread src/backends/wslc/common/src/wslc_bindings.rs Outdated
Comment thread src/backends/wslc/common/build.rs
Comment thread src/backends/wslc/common/build.rs
@SohamDas2021
Soham Das (SohamDas2021) marked this pull request as ready for review July 21, 2026 20:04
@SohamDas2021
Soham Das (SohamDas2021) requested a review from a team as a code owner July 21, 2026 20:04
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Comment thread docs/wsl/wsl-container-support-plan.md Outdated
Comment thread docs/linux-wsl-roadmap-june-2026.md
Comment thread external/wslc-sdk/README.md
Comment thread src/backends/wslc/common/build.rs Outdated
Comment thread src/backends/wslc/common/build.rs
Comment thread src/backends/wslc/common/build.rs
@SohamDas2021
Soham Das (SohamDas2021) merged commit 3fd07f5 into main Jul 22, 2026
22 checks passed
@SohamDas2021
Soham Das (SohamDas2021) deleted the user/sodas/wslc-public-nuget-consumption branch July 22, 2026 17:10
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.

3 participants