Skip to content

Added WSLc API docs - #40922

Merged
Craig Loewen (craigloewen-msft) merged 5 commits into
masterfrom
user/crloewen/wslc-api-docs
Jun 26, 2026
Merged

Craig Loewen (craigloewen-msft) merged 5 commits into
masterfrom
user/crloewen/wslc-api-docs

Conversation

@craigloewen-msft

@craigloewen-msft Craig Loewen (craigloewen-msft) commented Jun 26, 2026 •

Copy link
Copy Markdown
Member

This PR adds functionality for the API docs to wsl.dev.

It looks like a lot of files but really there are only 5 files which have code changes:

  • .github/workflows/documentation.yml
  • doc/mkdocs.yml
  • doc/requirements.txt

And here are the summary of the major changes:

  • Added API docs content
@craigloewen-msft
Craig Loewen (craigloewen-msft) requested a review from a team as a code owner June 26, 2026 00:39
Copilot AI review requested due to automatic review settings June 26, 2026 00:39

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 the documentation build and site configuration to publish WSLC (WSL container) API reference docs as a separately versioned MkDocs site under wsl.dev, while keeping the main documentation unversioned.

Changes:

  • Switch the main documentation site to the Material theme and enable utilities like built-in search.
  • Add an “API reference” entry in the main site navigation that redirects into the separately built API reference mini-site.
  • Add a Python build script + GitHub Actions changes to build and publish versioned API reference content based on Git tags (via mike), alongside new API reference content pages.

Reviewed changes

Copilot reviewed 231 out of 231 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
.github/workflows/documentation.yml Build docs only when doc/** changes; fetch full git history/tags; publish merged main site + versioned API reference under public/.
doc/build_versioned_docs.py New build orchestration script for main docs + tag-versioned API reference (mike) merged into one output tree.
doc/docs/api.md Adds a redirecting landing page that routes main-site “API reference” nav to /api-reference/.
doc/mkdocs-api.yml New standalone MkDocs config for the API reference mini-site (Material theme + mike version selector).
doc/mkdocs.yml Updates main MkDocs site config (Material theme, search, markdown extensions) and adds API reference nav entry.
doc/README.md Updates local build instructions to use the new versioned build script and serve the merged public/ output.
doc/requirements.txt New documentation tool dependencies for building both MkDocs sites and versioning via mike.
doc/api-reference/.pages Top-level API reference nav ordering.
doc/api-reference/index.md API reference landing page listing language projections.
doc/api-reference/c/.pages C API reference section nav.
doc/api-reference/c/index.md C API reference top page and structure.
doc/api-reference/c/not-yet-implemented-apis.md Documents C API features that return E_NOTIMPL.
doc/api-reference/c/error-codes.md Documents WSLC error code constants and values.
doc/api-reference/c/end-to-end-example.md End-to-end usage example for the C/native API.
doc/api-reference/c/callback-types/.pages Callback types nav ordering.
doc/api-reference/c/callback-types/index.md Callback types index.
doc/api-reference/c/callback-types/wslccontainerimageprogresscallback.md Documents WslcContainerImageProgressCallback.
doc/api-reference/c/callback-types/wslcinstallcallback.md Documents WslcInstallCallback.
doc/api-reference/c/callback-types/wslcprocessexitcallback.md Documents WslcProcessExitCallback.
doc/api-reference/c/callback-types/wslcsessioncrashdumpcallback.md Documents WslcSessionCrashDumpCallback.
doc/api-reference/c/callback-types/wslcstdiocallback.md Documents WslcStdIOCallback.
doc/api-reference/c/container-apis/.pages Container APIs nav ordering.
doc/api-reference/c/container-apis/index.md Container APIs index.
doc/api-reference/c/container-apis/wslccreatecontainer.md Documents WslcCreateContainer.
doc/api-reference/c/container-apis/wslccreatecontainerprocess.md Documents WslcCreateContainerProcess.
doc/api-reference/c/container-apis/wslcdeletecontainer.md Documents WslcDeleteContainer.
doc/api-reference/c/container-apis/wslcgetcontainerid.md Documents WslcGetContainerID.
doc/api-reference/c/container-apis/wslcgetcontainerinitprocess.md Documents WslcGetContainerInitProcess.
doc/api-reference/c/container-apis/wslcgetcontainerstate.md Documents WslcGetContainerState.
doc/api-reference/c/container-apis/wslcinitcontainersettings.md Documents WslcInitContainerSettings.
doc/api-reference/c/container-apis/wslcinspectcontainer.md Documents WslcInspectContainer.
doc/api-reference/c/container-apis/wslcreleasecontainer.md Documents WslcReleaseContainer.
doc/api-reference/c/container-apis/wslcsetcontainersettingsdomainname.md Documents WslcSetContainerSettingsDomainName.
doc/api-reference/c/container-apis/wslcsetcontainersettingsflags.md Documents WslcSetContainerSettingsFlags.
doc/api-reference/c/container-apis/wslcsetcontainersettingshostname.md Documents WslcSetContainerSettingsHostName.
doc/api-reference/c/container-apis/wslcsetcontainersettingsinitprocess.md Documents WslcSetContainerSettingsInitProcess.
doc/api-reference/c/container-apis/wslcsetcontainersettingsname.md Documents WslcSetContainerSettingsName.
doc/api-reference/c/container-apis/wslcsetcontainersettingsnamedvolumes.md Documents WslcSetContainerSettingsNamedVolumes.
doc/api-reference/c/container-apis/wslcsetcontainersettingsnetworkingmode.md Documents WslcSetContainerSettingsNetworkingMode.
doc/api-reference/c/container-apis/wslcsetcontainersettingsportmappings.md Documents WslcSetContainerSettingsPortMappings.
doc/api-reference/c/container-apis/wslcsetcontainersettingsvolumes.md Documents WslcSetContainerSettingsVolumes.
doc/api-reference/c/container-apis/wslcstartcontainer.md Documents WslcStartContainer.
doc/api-reference/c/container-apis/wslcstopcontainer.md Documents WslcStopContainer.
doc/api-reference/c/enumerations/.pages C enumerations nav ordering.
doc/api-reference/c/enumerations/index.md C enumerations index.
doc/api-reference/c/enumerations/wslccomponentflags.md Documents WslcComponentFlags.
doc/api-reference/c/enumerations/wslccontainerflags.md Documents WslcContainerFlags.
doc/api-reference/c/enumerations/wslccontainernetworkingmode.md Documents WslcContainerNetworkingMode.
doc/api-reference/c/enumerations/wslccontainerstartflags.md Documents WslcContainerStartFlags.
doc/api-reference/c/enumerations/wslccontainerstate.md Documents WslcContainerState.
doc/api-reference/c/enumerations/wslcdeletecontainerflags.md Documents WslcDeleteContainerFlags.
doc/api-reference/c/enumerations/wslcimageprogressstatus.md Documents WslcImageProgressStatus.
doc/api-reference/c/enumerations/wslcportprotocol.md Documents WslcPortProtocol.
doc/api-reference/c/enumerations/wslcprocessiohandle.md Documents WslcProcessIOHandle.
doc/api-reference/c/enumerations/wslcprocessstate.md Documents WslcProcessState.
doc/api-reference/c/enumerations/wslcsessionfeatureflags.md Documents WslcSessionFeatureFlags.
doc/api-reference/c/enumerations/wslcsessionterminationreason.md Documents WslcSessionTerminationReason.
doc/api-reference/c/enumerations/wslcsignal.md Documents WslcSignal.
doc/api-reference/c/enumerations/wslcvhdrequirementsflags.md Documents WslcVhdRequirementsFlags.
doc/api-reference/c/enumerations/wslcvhdtype.md Documents WslcVhdType.
doc/api-reference/c/image-apis/.pages Image APIs nav ordering.
doc/api-reference/c/image-apis/index.md Image APIs index.
doc/api-reference/c/image-apis/wslcdeletesessionimage.md Documents WslcDeleteSessionImage.
doc/api-reference/c/image-apis/wslcimportsessionimage.md Documents WslcImportSessionImage.
doc/api-reference/c/image-apis/wslcimportsessionimagefromfile.md Documents WslcImportSessionImageFromFile.
doc/api-reference/c/image-apis/wslclistsessionimages.md Documents WslcListSessionImages.
doc/api-reference/c/image-apis/wslcloadsessionimage.md Documents WslcLoadSessionImage.
doc/api-reference/c/image-apis/wslcloadsessionimagefromfile.md Documents WslcLoadSessionImageFromFile.
doc/api-reference/c/image-apis/wslcpullsessionimage.md Documents WslcPullSessionImage.
doc/api-reference/c/image-apis/wslcpushsessionimage.md Documents WslcPushSessionImage.
doc/api-reference/c/image-apis/wslctagsessionimage.md Documents WslcTagSessionImage.
doc/api-reference/c/install-and-version-apis/.pages Install/version APIs nav ordering.
doc/api-reference/c/install-and-version-apis/index.md Install/version APIs index.
doc/api-reference/c/install-and-version-apis/dllcanunloadnow.md Notes about DllCanUnloadNow export.
doc/api-reference/c/install-and-version-apis/dllgetactivationfactory.md Notes about DllGetActivationFactory export.
doc/api-reference/c/install-and-version-apis/dllmain.md Notes about DllMain export.
doc/api-reference/c/install-and-version-apis/wslcgetmissingcomponents.md Documents WslcGetMissingComponents.
doc/api-reference/c/install-and-version-apis/wslcgetversion.md Documents WslcGetVersion.
doc/api-reference/c/install-and-version-apis/wslcinstallwithdependencies.md Documents WslcInstallWithDependencies.
doc/api-reference/c/process-apis/.pages Process APIs nav ordering.
doc/api-reference/c/process-apis/index.md Process APIs index.
doc/api-reference/c/process-apis/wslcgetprocessexitcode.md Documents WslcGetProcessExitCode.
doc/api-reference/c/process-apis/wslcgetprocessexitevent.md Documents WslcGetProcessExitEvent.
doc/api-reference/c/process-apis/wslcgetprocessiohandle.md Documents WslcGetProcessIOHandle.
doc/api-reference/c/process-apis/wslcgetprocesspid.md Documents WslcGetProcessPid.
doc/api-reference/c/process-apis/wslcgetprocessstate.md Documents WslcGetProcessState.
doc/api-reference/c/process-apis/wslcinitprocesssettings.md Documents WslcInitProcessSettings.
doc/api-reference/c/process-apis/wslcreleaseprocess.md Documents WslcReleaseProcess.
doc/api-reference/c/process-apis/wslcsetprocesssettingscallbacks.md Documents WslcSetProcessSettingsCallbacks.
doc/api-reference/c/process-apis/wslcsetprocesssettingscmdline.md Documents WslcSetProcessSettingsCmdLine.
doc/api-reference/c/process-apis/wslcsetprocesssettingsenvvariables.md Documents WslcSetProcessSettingsEnvVariables.
doc/api-reference/c/process-apis/wslcsetprocesssettingsworkingdirectory.md Documents WslcSetProcessSettingsWorkingDirectory.
doc/api-reference/c/process-apis/wslcsignalprocess.md Documents WslcSignalProcess.
doc/api-reference/c/session-apis/.pages Session APIs nav ordering.
doc/api-reference/c/session-apis/index.md Session APIs index.
doc/api-reference/c/session-apis/wslccreatesession.md Documents WslcCreateSession.
doc/api-reference/c/session-apis/wslcgetsessionterminationevent.md Documents WslcGetSessionTerminationEvent.
doc/api-reference/c/session-apis/wslcgetsessionterminationreason.md Documents WslcGetSessionTerminationReason.
doc/api-reference/c/session-apis/wslcinitsessionsettings.md Documents WslcInitSessionSettings.
doc/api-reference/c/session-apis/wslcreleasecrashdumpsubscription.md Documents WslcReleaseCrashDumpSubscription.
doc/api-reference/c/session-apis/wslcreleasesession.md Documents WslcReleaseSession.
doc/api-reference/c/session-apis/wslcregistersessioncrashdumpcallback.md Documents WslcRegisterSessionCrashDumpCallback.
doc/api-reference/c/session-apis/wslcsessionauthenticate.md Documents WslcSessionAuthenticate.
doc/api-reference/c/session-apis/wslcsetsessionsettingscpucount.md Documents WslcSetSessionSettingsCpuCount.
doc/api-reference/c/session-apis/wslcsetsessionsettingsfeatureflags.md Documents WslcSetSessionSettingsFeatureFlags.
doc/api-reference/c/session-apis/wslcsetsessionsettingsmemory.md Documents WslcSetSessionSettingsMemory.
doc/api-reference/c/session-apis/wslcsetsessionsettingstimeout.md Documents WslcSetSessionSettingsTimeout.
doc/api-reference/c/session-apis/wslcsetsessionsettingsvhd.md Documents WslcSetSessionSettingsVhd.
doc/api-reference/c/session-apis/wslcterminatesession.md Documents WslcTerminateSession.
doc/api-reference/c/storage-apis/.pages Storage APIs nav ordering.
doc/api-reference/c/storage-apis/index.md Storage APIs index.
doc/api-reference/c/storage-apis/wslccreatesessionvhdvolume.md Documents WslcCreateSessionVhdVolume.
doc/api-reference/c/storage-apis/wslcdeletesessionvhdvolume.md Documents WslcDeleteSessionVhdVolume.
doc/api-reference/c/structures/.pages Structures nav ordering.
doc/api-reference/c/structures/index.md Structures index.
doc/api-reference/c/structures/constants.md Documents C constants used by the API.
doc/api-reference/c/structures/handle-types.md Documents opaque handle types.
doc/api-reference/c/structures/wslccontainerportmapping.md Documents WslcContainerPortMapping.
doc/api-reference/c/structures/wslccontainernamedvolume.md Documents WslcContainerNamedVolume.
doc/api-reference/c/structures/wslccontainersettings.md Documents WslcContainerSettings.
doc/api-reference/c/structures/wslccontainervolume.md Documents WslcContainerVolume.
doc/api-reference/c/structures/wslcimageinfo.md Documents WslcImageInfo.
doc/api-reference/c/structures/wslcimageprogressdetail.md Documents WslcImageProgressDetail.
doc/api-reference/c/structures/wslcimageprogressmessage.md Documents WslcImageProgressMessage.
doc/api-reference/c/structures/wslcimportimageoptions.md Documents WslcImportImageOptions.
doc/api-reference/c/structures/wslcloadimageoptions.md Documents WslcLoadImageOptions.
doc/api-reference/c/structures/wslcprocesscallbacks.md Documents WslcProcessCallbacks.
doc/api-reference/c/structures/wslcprocesssettings.md Documents WslcProcessSettings.
doc/api-reference/c/structures/wslcpullimageoptions.md Documents WslcPullImageOptions.
doc/api-reference/c/structures/wslcpushimageoptions.md Documents WslcPushImageOptions.
doc/api-reference/c/structures/wslcsessioncrashdumpinfo.md Documents WslcSessionCrashDumpInfo.
doc/api-reference/c/structures/wslcsessionsettings.md Documents WslcSessionSettings.
doc/api-reference/c/structures/wslctagimageoptions.md Documents WslcTagImageOptions.
doc/api-reference/c/structures/wslcvhdrequirements.md Documents WslcVhdRequirements.
doc/api-reference/c/structures/wslcversion.md Documents WslcVersion.
doc/api-reference/cpp/.pages C++/WinRT API reference section nav.
doc/api-reference/cpp/index.md C++/WinRT API reference top page.
doc/api-reference/cpp/not-yet-implemented-and-known-gaps.md Documents known projection gaps for the C++/WinRT surface.
doc/api-reference/cpp/end-to-end-example.md End-to-end usage example for the C++/WinRT projection.
doc/api-reference/cpp/core-classes/.pages C++ core classes nav ordering.
doc/api-reference/cpp/core-classes/index.md C++ core classes index.
doc/api-reference/cpp/core-classes/container.md Documents Container in C++/WinRT.
doc/api-reference/cpp/core-classes/process.md Documents Process in C++/WinRT.
doc/api-reference/cpp/core-classes/session.md Documents Session in C++/WinRT.
doc/api-reference/cpp/data-classes/.pages C++ data classes nav ordering.
doc/api-reference/cpp/data-classes/index.md C++ data classes index.
doc/api-reference/cpp/data-classes/containernamedvolume.md Documents ContainerNamedVolume.
doc/api-reference/cpp/data-classes/containerportmapping.md Documents ContainerPortMapping.
doc/api-reference/cpp/data-classes/containervolume.md Documents ContainerVolume.
doc/api-reference/cpp/data-classes/imageinfo.md Documents ImageInfo.
doc/api-reference/cpp/data-classes/imageprogress.md Documents ImageProgress.
doc/api-reference/cpp/data-classes/installprogress.md Documents InstallProgress.
doc/api-reference/cpp/data-classes/referenced.md Reference notes for wrappers/types mentioned by the projection.
doc/api-reference/cpp/delegates-and-events/.pages C++ delegates/events nav ordering.
doc/api-reference/cpp/delegates-and-events/index.md C++ delegates/events index.
doc/api-reference/cpp/delegates-and-events/processexithandler.md Documents process exit handler delegate usage.
doc/api-reference/cpp/delegates-and-events/processoutputhandler.md Documents process output handler delegate usage.
doc/api-reference/cpp/delegates-and-events/sessionterminationhandler.md Documents session termination handler delegate usage.
doc/api-reference/cpp/enumerations/.pages C++ enumerations nav ordering.
doc/api-reference/cpp/enumerations/index.md C++ enumerations index.
doc/api-reference/cpp/enumerations/componentflags.md Documents ComponentFlags.
doc/api-reference/cpp/enumerations/containerflags.md Documents ContainerFlags.
doc/api-reference/cpp/enumerations/containernetworkingmode.md Documents ContainerNetworkingMode.
doc/api-reference/cpp/enumerations/containerstate.md Documents ContainerState.
doc/api-reference/cpp/enumerations/deletecontainerflags.md Documents DeleteContainerFlags.
doc/api-reference/cpp/enumerations/imageprogressstatus.md Documents ImageProgressStatus.
doc/api-reference/cpp/enumerations/portprotocol.md Documents PortProtocol.
doc/api-reference/cpp/enumerations/processoutputhandle.md Documents ProcessOutputHandle.
doc/api-reference/cpp/enumerations/processoutputmode.md Documents ProcessOutputMode.
doc/api-reference/cpp/enumerations/processstate.md Documents ProcessState.
doc/api-reference/cpp/enumerations/sessionfeatureflags.md Documents SessionFeatureFlags.
doc/api-reference/cpp/enumerations/sessionterminationreason.md Documents SessionTerminationReason.
doc/api-reference/cpp/enumerations/signal.md Documents Signal.
doc/api-reference/cpp/service-class/.pages C++ service class nav ordering.
doc/api-reference/cpp/service-class/index.md C++ service class index.
doc/api-reference/cpp/service-class/wslcservice.md Documents WslcService in C++/WinRT.
doc/api-reference/cpp/settings-classes/.pages C++ settings classes nav ordering.
doc/api-reference/cpp/settings-classes/index.md C++ settings classes index.
doc/api-reference/cpp/settings-classes/containersettings.md Documents ContainerSettings.
doc/api-reference/cpp/settings-classes/processsettings.md Documents ProcessSettings.
doc/api-reference/cpp/settings-classes/sessionsettings.md Documents SessionSettings.
doc/api-reference/csharp/.pages C# API reference section nav.
doc/api-reference/csharp/index.md C# API reference top page.
doc/api-reference/csharp/overview.md High-level overview for the C# projection.
doc/api-reference/csharp/projected-namespace.md Documents the C# projected namespace import.
doc/api-reference/csharp/common-cswinrt-type-mappings.md Documents common WinRT→C# type mappings.
doc/api-reference/csharp/delegates-and-events.md Documents delegates/events usage for the C# projection.
doc/api-reference/csharp/known-gaps.md Documents known feature gaps vs. the C API.
doc/api-reference/csharp/end-to-end-example.md End-to-end usage example for the C# projection.
doc/api-reference/csharp/core-classes/.pages C# core classes nav ordering.
doc/api-reference/csharp/core-classes/index.md C# core classes index.
doc/api-reference/csharp/core-classes/container.md Documents Container in C#.
doc/api-reference/csharp/core-classes/process.md Documents Process in C#.
doc/api-reference/csharp/core-classes/session.md Documents Session in C#.
doc/api-reference/csharp/data-classes/.pages C# data classes nav ordering.
doc/api-reference/csharp/data-classes/index.md C# data classes index.
doc/api-reference/csharp/data-classes/containernamedvolume.md Documents ContainerNamedVolume.
doc/api-reference/csharp/data-classes/containerportmapping.md Documents ContainerPortMapping.
doc/api-reference/csharp/data-classes/containervolume.md Documents ContainerVolume.
doc/api-reference/csharp/data-classes/imageinfo.md Documents ImageInfo.
doc/api-reference/csharp/data-classes/imageprogress.md Documents ImageProgress.
doc/api-reference/csharp/data-classes/installprogress.md Documents InstallProgress.
doc/api-reference/csharp/data-classes/serviceversion.md Documents ServiceVersion.
doc/api-reference/csharp/enumerations/.pages C# enumerations nav ordering.
doc/api-reference/csharp/enumerations/index.md C# enumerations index.
doc/api-reference/csharp/enumerations/componentflags.md Documents ComponentFlags.
doc/api-reference/csharp/enumerations/containerflags.md Documents ContainerFlags.
doc/api-reference/csharp/enumerations/containernetworkingmode.md Documents ContainerNetworkingMode.
doc/api-reference/csharp/enumerations/containerstate.md Documents ContainerState.
doc/api-reference/csharp/enumerations/deletecontainerflags.md Documents DeleteContainerFlags.
doc/api-reference/csharp/enumerations/imageprogressstatus.md Documents ImageProgressStatus.
doc/api-reference/csharp/enumerations/portprotocol.md Documents PortProtocol.
doc/api-reference/csharp/enumerations/processoutputhandle.md Documents ProcessOutputHandle.
doc/api-reference/csharp/enumerations/processoutputmode.md Documents ProcessOutputMode.
doc/api-reference/csharp/enumerations/processstate.md Documents ProcessState.
doc/api-reference/csharp/enumerations/sessionfeatureflags.md Documents SessionFeatureFlags.
doc/api-reference/csharp/enumerations/sessionterminationreason.md Documents SessionTerminationReason.
doc/api-reference/csharp/enumerations/signal.md Documents Signal.
doc/api-reference/csharp/enumerations/vhdtype.md Documents VhdType.
doc/api-reference/csharp/service-class/.pages C# service class nav ordering.
doc/api-reference/csharp/service-class/index.md C# service class index.
doc/api-reference/csharp/service-class/wslcservice.md Documents WslcService in C#.
doc/api-reference/csharp/settings-classes/.pages C# settings classes nav ordering.
doc/api-reference/csharp/settings-classes/index.md C# settings classes index.
doc/api-reference/csharp/settings-classes/containersettings.md Documents ContainerSettings.
doc/api-reference/csharp/settings-classes/processsettings.md Documents ProcessSettings.
doc/api-reference/csharp/settings-classes/pullimageoptions.md Documents PullImageOptions.
doc/api-reference/csharp/settings-classes/pushimageoptions.md Documents PushImageOptions.
doc/api-reference/csharp/settings-classes/sessionsettings.md Documents SessionSettings.
doc/api-reference/csharp/settings-classes/tagimageoptions.md Documents TagImageOptions.
doc/api-reference/csharp/settings-classes/vhdoptions.md Documents VhdOptions.
Comment thread doc/docs/api-reference/c/end-to-end-example.md
Comment thread doc/api-reference/csharp/end-to-end-example.md Outdated
Comment thread doc/build_versioned_docs.py Outdated
Comment thread doc/build_versioned_docs.py Outdated
Comment thread doc/build_versioned_docs.py Outdated
Comment thread doc/requirements.txt Outdated
Comment thread doc/build_versioned_docs.py Outdated

@OneBlue Blue (OneBlue) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looking through the doc itself, I think we should try to put a bit more information into what each value / field / argument does. For instance for WslcStdIOCallback, we should explain the synchronization guarantees, that releasing the process waits for all callbacks to complete, that the IO is synchronous, etc.

I think a good template for this would be https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessa, where the documentation explain what each argument does, how they interact, and potential gotchas

Comment thread .github/workflows/documentation.yml
Comment thread .github/workflows/documentation.yml Outdated
Copilot AI review requested due to automatic review settings June 26, 2026 01:31

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

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

Comment thread doc/docs/api-reference/cpp/core-classes/session.md
Comment thread doc/docs/api-reference/cpp/core-classes/session.md
Comment thread doc/docs/api-reference/cpp/core-classes/session.md
Comment thread doc/docs/api-reference/cpp/core-classes/session.md
Comment thread doc/docs/api-reference/c/end-to-end-example.md
Comment thread doc/docs/api-reference/c/end-to-end-example.md

@OneBlue Blue (OneBlue) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Change LGTM from a build perspective. As a followup I think we should look into adding more details for what each argument / field / flag does and which return values methods return.

Note that once merged, this will be published to wsl.dev

Copilot AI review requested due to automatic review settings June 26, 2026 19:47

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

Copilot reviewed 228 out of 228 changed files in this pull request and generated 8 comments.

Comment on lines 4 to +6
push:
branches: [main, master]
paths: ['doc/**']
Comment on lines +50 to +57
Session session{ sessionSettings };
session.Start();

// 2. Pull an image
PullImageOptions pullOpts{ L"docker.io/library/alpine:latest" };
auto pullOp = session.PullImageAsync(pullOpts);
co_await pullOp;

Comment on lines +10 to +14
VhdOptions options;
options.Name(L"build-cache");
options.Size(10ull * 1024 * 1024 * 1024);
options.Type(VhdType::Dynamic);
options.Owner({ 1000, 1000 });
Comment on lines +86 to +99
PullImageOptions pullOptions = ;
auto pullOp = session.PullImageAsync(pullOptions);
pullOp.Progress([](auto&&, ImageProgress const& p) { /* progress */ });
co_await pullOp;

PushImageOptions pushOptions = ;
co_await session.PushImageAsync(pushOptions);

TagImageOptions tagOptions = ;
session.TagImage(tagOptions);

VhdOptions vhdOptions = ;
session.CreateVhdVolume(vhdOptions);
session.DeleteVhdVolume(L"build-cache");
@@ -0,0 +1,16 @@
# Component

`WslcService::GetMissingComponents()` returns a `Component` bitmask.
Comment on lines +11 to +15
auto missing = WslcService::GetMissingComponents();
if (missing != static_cast<Component>(0))
{
co_await WslcService::InstallWithDependenciesAsync();
}
- `InstallWithDependenciesAsync()`

**Behavior notes**
- `GetMissingComponents()` returns a `Component` bitmask.
Comment on lines +18 to +27
auto missing = WslcService::GetMissingComponents();
if (missing != static_cast<Component>(0))
{
auto install = WslcService::InstallWithDependenciesAsync();
install.Progress([](auto&&, InstallProgress const& p)
{
printf("install %u/%u\n", p.Progress(), p.Total());
});
co_await install;
}
@craigloewen-msft
Craig Loewen (craigloewen-msft) merged commit 7ba8496 into master Jun 26, 2026
12 checks passed
@craigloewen-msft
Craig Loewen (craigloewen-msft) deleted the user/crloewen/wslc-api-docs branch June 26, 2026 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants