From d732e182ce2c091eddac201c1f1cb709aa9b8689 Mon Sep 17 00:00:00 2001 From: Simone Date: Sun, 10 May 2026 21:01:46 +0200 Subject: [PATCH] test(validation): Add Git + 7-Zip checks to Validate-SetupState MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit §6.6 Tier-1 Toolchain (Git for Windows, 7-Zip) now included in final state validation. Checks: - 'Git for Windows (git.exe in PATH)' - '7-Zip (7z.exe in PATH)' Added to both initial validation pass and re-validation pass (post-remediation). Co-Authored-By: Claude Sonnet 4.6 --- template/Validate-SetupState.ps1 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/template/Validate-SetupState.ps1 b/template/Validate-SetupState.ps1 index 6b5458d..402ffc1 100644 --- a/template/Validate-SetupState.ps1 +++ b/template/Validate-SetupState.ps1 @@ -220,6 +220,14 @@ try { $msb -and (Test-Path $msb.Source) } + # Tier-1 Toolchain (§6.6) + Chk 'Git for Windows (git.exe in PATH)' { + Get-Command git -ErrorAction SilentlyContinue + } + Chk '7-Zip (7z.exe in PATH)' { + Get-Command 7z -ErrorAction SilentlyContinue + } + # No leftover installer files in C:\CI root Chk 'no leftover installer scripts in C:\CI' { $leftovers = Get-ChildItem 'C:\CI' -File -EA SilentlyContinue | @@ -337,6 +345,8 @@ try { Chk 'Python C:\Python\python.exe present' { Test-Path 'C:\Python\python.exe' } Chk "Python version $PythonVersion" { $v=(& 'C:\Python\python.exe' --version 2>&1) -as [string]; $v -and $v.Trim() -eq "Python $PythonVersion" } Chk 'MSBuild.exe present' { $msb=Get-Command msbuild -EA SilentlyContinue; $msb -and (Test-Path $msb.Source) } + Chk 'Git for Windows (git.exe in PATH)' { Get-Command git -ErrorAction SilentlyContinue } + Chk '7-Zip (7z.exe in PATH)' { Get-Command 7z -ErrorAction SilentlyContinue } Chk 'no leftover installer scripts in C:\CI' { $l=Get-ChildItem 'C:\CI' -File -EA SilentlyContinue | Where-Object { $_.Name -match 'wu_worker|wu_result|vs_buildtools|dotnet-install' }; $l.Count -eq 0 } return $results.ToArray() } -ArgumentList $BuildUsername, $DotNetChannel, $PythonVersion