mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 13:17:54 +00:00
[Windows] Add WSL2 to Windows-2025 image (#11242)
This commit is contained in:
@@ -93,11 +93,11 @@ $servicesToDisable = @(
|
||||
'wuauserv'
|
||||
'DiagTrack'
|
||||
'dmwappushservice'
|
||||
'PcaSvc'
|
||||
$(if(-not (Test-IsWin25)){'PcaSvc'})
|
||||
'SysMain'
|
||||
'gupdate'
|
||||
'gupdatem'
|
||||
'StorSvc'
|
||||
$(if(-not (Test-IsWin25)){'StorSvc'})
|
||||
) | Get-Service -ErrorAction SilentlyContinue
|
||||
Stop-Service $servicesToDisable
|
||||
$servicesToDisable.WaitForStatus('Stopped', "00:01:00")
|
||||
|
||||
16
images/windows/scripts/build/Install-WSL2.ps1
Normal file
16
images/windows/scripts/build/Install-WSL2.ps1
Normal file
@@ -0,0 +1,16 @@
|
||||
Write-Host "Install WSL2"
|
||||
|
||||
$version = (Get-GithubReleasesByVersion -Repo "microsoft/WSL" -Version "latest").version
|
||||
$downloadUrl = Resolve-GithubReleaseAssetUrl `
|
||||
-Repo "microsoft/WSL" `
|
||||
-Version $version `
|
||||
-UrlMatchPattern "wsl.*.x64.msi"
|
||||
|
||||
Install-Binary -Type MSI `
|
||||
-Url $downloadUrl `
|
||||
-ExpectedSHA256Sum "CD3F2A68A1A5836F6A1CC9965A7F5F54DB267CA221EAA87DF29345AB7957AEC4"
|
||||
|
||||
Write-Host "Performing wsl --install --no-distribution"
|
||||
wsl.exe --install --no-distribution
|
||||
|
||||
Invoke-PesterTests -TestFile "WindowsFeatures" -TestName "WSL2"
|
||||
@@ -21,6 +21,9 @@ Import-Module (Join-Path $PSScriptRoot "SoftwareReport.VisualStudio.psm1") -Disa
|
||||
$softwareReport = [SoftwareReport]::new($(Build-OSInfoSection))
|
||||
$optionalFeatures = $softwareReport.Root.AddHeader("Windows features")
|
||||
$optionalFeatures.AddToolVersion("Windows Subsystem for Linux (WSLv1):", "Enabled")
|
||||
if (Test-IsWin25) {
|
||||
$optionalFeatures.AddToolVersion("Windows Subsystem for Linux (Default, WSLv2):", $(Get-WSL2Version))
|
||||
}
|
||||
$installedSoftware = $softwareReport.Root.AddHeader("Installed Software")
|
||||
|
||||
# Language and Runtime
|
||||
|
||||
@@ -318,3 +318,7 @@ function Get-ImageMagickVersion {
|
||||
function Get-MongoshVersion {
|
||||
return $(mongosh --version)
|
||||
}
|
||||
|
||||
function Get-WSL2Version {
|
||||
return $((Get-AppxPackage -Name "MicrosoftCorporationII.WindowsSubsystemForLinux").version)
|
||||
}
|
||||
|
||||
@@ -82,3 +82,9 @@ Describe "Windows Updates" {
|
||||
$State | Should -BeIn $expect
|
||||
}
|
||||
}
|
||||
|
||||
Describe "WSL2" {
|
||||
It "WSL status should return zero exit code" {
|
||||
"wsl --status" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,7 +243,7 @@ build {
|
||||
inline = ["if (-not ((net localgroup Administrators) -contains '${var.install_user}')) { exit 1 }"]
|
||||
}
|
||||
|
||||
provisioner "powershell" {
|
||||
provisioner "powershell" {
|
||||
elevated_password = "${var.install_password}"
|
||||
elevated_user = "${var.install_user}"
|
||||
inline = ["bcdedit.exe /set TESTSIGNING ON"]
|
||||
@@ -256,6 +256,7 @@ build {
|
||||
"${path.root}/../scripts/build/Configure-WindowsDefender.ps1",
|
||||
"${path.root}/../scripts/build/Configure-PowerShell.ps1",
|
||||
"${path.root}/../scripts/build/Install-PowerShellModules.ps1",
|
||||
"${path.root}/../scripts/build/Install-WSL2.ps1",
|
||||
"${path.root}/../scripts/build/Install-WindowsFeatures.ps1",
|
||||
"${path.root}/../scripts/build/Install-Chocolatey.ps1",
|
||||
"${path.root}/../scripts/build/Configure-BaseImage.ps1",
|
||||
|
||||
Reference in New Issue
Block a user