* Add WSLASession creation and tracking in WSLAUserSession
* Wire up WSLASession to contain and create WSLAVirtualMachine
Co-authored-by: Pooja Trivedi <trivedipooja@microsoft.com>
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Cleanup for review
* Update ServiceMain.cpp comment
* Remove duplicated definitions from wslservice.idl
* poc: Prototype interactive shell improvments
* Format
* Merge
* Save state
* Correctly configure terminal
* Format
* PR feedback
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Save state
* Cleanup for review
* Update ServiceMain.cpp comment
* Remove duplicated definitions from wslservice.idl
* Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)
* Save state
* Save state
* Save state
* Get the VM booting
* VM booting
* Disk mounting
* CreateLinuxProcess
* Move to a proper API
* Implement env
* Progress on fd
* Redesign fork model
* Add process wait & signal
* Include nuget package
* Format
* Format
* Format
* Cleanup
* Format
* Format
* Format
* Fix nuspec
* Implement VM termination
* Add lsw dll
* Implement termination callbacks
* Save state
* Various fixes in API header
* Save state
* Test coverage
* Don't block all signals by default
* Writeable overlay
* Add struct keyword
* rename WslCreateVirualMachine -> WslCreateVirtualMachine
* rename Environmnent -> Environment
* rename HandleToUlong -> HandleToULong
* ensure correct amount of memory is used to create the LSW VM
* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission
* Add missing struct keyword
* PR feedback
* PR review
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* Implement WSL for apps TCP port forwarding (#13299)
* Merge User/oneblue/prototype lsw to a feature/wsl-for-apps (#13278)
* Save state
* Save state
* Save state
* Get the VM booting
* VM booting
* Disk mounting
* CreateLinuxProcess
* Move to a proper API
* Implement env
* Progress on fd
* Redesign fork model
* Add process wait & signal
* Include nuget package
* Format
* Format
* Format
* Cleanup
* Format
* Format
* Format
* Fix nuspec
* Implement VM termination
* Add lsw dll
* Implement termination callbacks
* Save state
* Various fixes in API header
* Save state
* Test coverage
* Don't block all signals by default
* Writeable overlay
* Add struct keyword
* rename WslCreateVirualMachine -> WslCreateVirtualMachine
* rename Environmnent -> Environment
* rename HandleToUlong -> HandleToULong
* ensure correct amount of memory is used to create the LSW VM
* Adjust LSWVirtualMachine::AttachDisk so it does not require caller to have elevated permission
* Add missing struct keyword
* PR feedback
* PR review
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* Save state
* Progress
* Save state
* Move tests to socat
* Increase test coverage
* More test coverage
* Cleanup before PR
* Cleanup before PR
* Refresh branch
* Update comment
* Only run LSW tests on wsl2
* Fix missing '.0' in flight-stage.yml
* Revert "Fix missing '.0' in flight-stage.yml"
This reverts commit 9b3e9ae38f5086b201f2100bf4196a7afe14d9eb.
* PR suggestions
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
* Various fixes and improvements to the WSLA VM logic (#13338)
* Various fixes in the WSLA VM logic
* Update tests
* Fix ARM build
* LF
* Disable Firewall in WSLA VM config (#13345)
* Disable Firewall in WSLA VM config
* Add a version check
* Update setup-vm-for-tests.ps1 to include WSLA dll (#13362)
* Implement WSLA API's to query installed components, and install them when needed (#13363)
* Save state
* Save state
* Add tests
* Finalize tests
* Remove test logic
* Implement WSLA API to unmount & detach disks (#13364)
* Implement WSLA API to unmount & detach disks
* Add WSL2_TEST_ONLY();
* Fix wslg path
* Extend WslWaitForLinuxProcess test coverage (#13366)
* Add pipeline logic to publish nuget packages in the nightly pipeline (#13337)
* Add pipeline logic to publish nuget packages in the nightly pipeline
* Yaml
* Remove condition
* Fix version number
* Fix path
* Fix path
* Add support for using Linux files as processes' file descriptors (#13382)
* Save state
* Save state
* Add support for using Linux files as processes' file descriptors
* Cosmetics
* Missing return
* Signal the VM termination event to unblock any pending call when the service stops (#13389)
* Implement WSLA API to mount and unmount Windows folders via plan9 (#13393)
* Implement WSLA API to mount and unmount Windows folders via plan9
* Better handle when the folder is manually unmounted from the guest
* Add a test case to cover non plan9 mounts
* Update test
* wsla: do not leak fd's to user processes (#13406)
* Remove leftover logline in WSLA init (#13407)
* Implement WSLA GPU support (#13400)
* Implement WSLA GPU support
* Spelling
* Fix remaining typos
* More typos
* Merge
* Remove extra logline
* wsla: Refactor API to define `wsl` prefix on all types (#13410)
* Implement WSLA GPU support
* Spelling
* Fix remaining typos
* More typos
* Merge
* Remove extra logline
* Save state
* Reduce enum name
* Format
* Merge
* Fix merge
* Prepare for PR
* Update nuspec
* Pipeline update
* Implement WSL package version check (#13457)
* wsla: Mount the target on / when the chroot flag is set (#13455)
* wsla: Mount the target on / when the chroot flag is set
* Reuse existing helper
* wsa: Signa wsaclient.dll when building for release (#13466)
* wsa: Signal wsaclient.dll when building for release
* Typo
* Debug
* Debug
* Explicitely set targets to be built
* Build bundle
* Build tests before msipackage
* Build tests before msipackage
* Simplify
* Simplify
* wsla: Use a mount timeout when mounting a disk (#13471)
* Add an option to put a nuget suffix in the release pipeline parameters (#13474)
* Add an option to put a nuget suffix in the release pipeline parameters
* Yaml
* Yaml
* Yaml
* wsla: Implement writeable overlayfs support for GPU mounts
* Cleanup
* Typo
* Conflicts
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>