[windows] introduce user warmup (#8225)

some User warmup may be transferred to C:\Users\Default to speedup
provisioning. Especially, this is important for large runners
This commit is contained in:
ilia-shipitsin
2023-09-05 14:34:09 +02:00
committed by GitHub
parent 0f35a386c1
commit bd1f57a2d3
3 changed files with 29 additions and 2 deletions

View File

@@ -0,0 +1,25 @@
################################################################################
## File: Warmup-User.ps1
## Desc: Performs user part of warm up and moves data to C:\Users\Default
################################################################################
#
# more: https://github.com/actions/runner-images-internal/issues/5320
# https://github.com/actions/runner-images/issues/5301#issuecomment-1648292990
#
Write-Host "Warmup 'devenv.exe /updateconfiguration'"
$vsInstallRoot = (Get-VisualStudioInstance).InstallationPath
$devEnvPath = "$vsInstallRoot\Common7\IDE\devenv.exe"
cmd.exe /c "`"$devEnvPath`" /updateconfiguration"
Copy-Item ${env:USERPROFILE}\AppData\Local\Microsoft\VisualStudio -Destination c:\users\default\AppData\Local\Microsoft\VisualStudio -Recurse
reg.exe load HKLM\DEFAULT c:\users\default\ntuser.dat
reg.exe copy HKCU\Software\Microsoft\VisualStudio HKLM\DEFAULT\Software\Microsoft\VisualStudio /s
reg.exe unload HKLM\DEFAULT
Write-Host "Warmup-User.ps1 - completed"

View File

@@ -339,7 +339,8 @@
"skip_clean": true,
"scripts": [
"{{ template_dir }}/scripts/Installers/Run-NGen.ps1",
"{{ template_dir }}/scripts/Installers/Finalize-VM.ps1"
"{{ template_dir }}/scripts/Installers/Finalize-VM.ps1",
"{{ template_dir }}/scripts/Installers/Warmup-User.ps1"
],
"environment_vars": [
"INSTALL_USER={{user `install_user`}}"

View File

@@ -326,7 +326,8 @@
"skip_clean": true,
"scripts": [
"{{ template_dir }}/scripts/Installers/Run-NGen.ps1",
"{{ template_dir }}/scripts/Installers/Finalize-VM.ps1"
"{{ template_dir }}/scripts/Installers/Finalize-VM.ps1",
"{{ template_dir }}/scripts/Installers/Warmup-User.ps1"
],
"environment_vars": [
"INSTALL_USER={{user `install_user`}}"