Added WSLc API docs - #40922
Added WSLc API docs #40922
Conversation
There was a problem hiding this comment.
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. |
Blue (OneBlue)
left a comment
There was a problem hiding this comment.
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
Blue (OneBlue)
left a comment
There was a problem hiding this comment.
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
| push: | ||
| branches: [main, master] | ||
| paths: ['doc/**'] |
| 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; | ||
|
|
| VhdOptions options; | ||
| options.Name(L"build-cache"); | ||
| options.Size(10ull * 1024 * 1024 * 1024); | ||
| options.Type(VhdType::Dynamic); | ||
| options.Owner({ 1000, 1000 }); |
| 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. | |||
| auto missing = WslcService::GetMissingComponents(); | ||
| if (missing != static_cast<Component>(0)) | ||
| { | ||
| co_await WslcService::InstallWithDependenciesAsync(); | ||
| } |
| - `InstallWithDependenciesAsync()` | ||
|
|
||
| **Behavior notes** | ||
| - `GetMissingComponents()` returns a `Component` bitmask. |
| 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; | ||
| } |
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:
And here are the summary of the major changes: