feat(template): §6.6 Tier-2 toolchain PS7/NSIS/CMake/Node.js/WiX/gh CLI/Sysinternals/vcpkg
Step 12 in Setup-WinBuild2025.ps1 installs all 8 Tier-2 tools: - PowerShell 7.4.7 LTS (pwsh.exe) - NSIS 3.10 (makensis.exe) - CMake 3.31.6 (cmake.exe) - Node.js 22.14.0 LTS (node.exe + npm) - WiX 4.0.5 via dotnet tool (wix.exe, C:\BuildTools\Wix\) - GitHub CLI 2.67.0 (gh.exe) - Sysinternals Suite (C:\BuildTools\Sysinternals\, extracted via 7-Zip) - vcpkg HEAD shallow clone + bootstrap (C:\BuildTools\vcpkg\) All tools added to Machine PATH; idempotent (binary-presence check). Hash entries in \ ready for SHA256 pinning. knownTempFiles extended; Final gate Assert-Step added for all 8 binaries. Prepare-WinBuild2025.ps1: 7 new params + pass-through to Setup. Validate-SetupState.ps1: Tier-2 checks in both main + re-run scriptblocks. TODO.md: §6.6 [~] -> [x], Sprint 11 summary.
This commit is contained in:
@@ -228,6 +228,32 @@ try {
|
||||
Get-Command 7z -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
# Tier-2 Toolchain (§6.6)
|
||||
Chk 'PowerShell 7 (pwsh.exe in PATH)' {
|
||||
Get-Command pwsh -ErrorAction SilentlyContinue
|
||||
}
|
||||
Chk 'NSIS (makensis.exe in PATH)' {
|
||||
Get-Command makensis -ErrorAction SilentlyContinue
|
||||
}
|
||||
Chk 'CMake (cmake.exe in PATH)' {
|
||||
Get-Command cmake -ErrorAction SilentlyContinue
|
||||
}
|
||||
Chk 'Node.js (node.exe in PATH)' {
|
||||
Get-Command node -ErrorAction SilentlyContinue
|
||||
}
|
||||
Chk 'WiX Toolset (wix.exe in PATH)' {
|
||||
Get-Command wix -ErrorAction SilentlyContinue
|
||||
}
|
||||
Chk 'GitHub CLI (gh.exe in PATH)' {
|
||||
Get-Command gh -ErrorAction SilentlyContinue
|
||||
}
|
||||
Chk 'Sysinternals PsExec.exe present' {
|
||||
Test-Path 'C:\BuildTools\Sysinternals\PsExec.exe' -PathType Leaf
|
||||
}
|
||||
Chk 'vcpkg.exe present' {
|
||||
Test-Path 'C:\BuildTools\vcpkg\vcpkg.exe' -PathType Leaf
|
||||
}
|
||||
|
||||
# No leftover installer files in C:\CI root
|
||||
Chk 'no leftover installer scripts in C:\CI' {
|
||||
$leftovers = Get-ChildItem 'C:\CI' -File -EA SilentlyContinue |
|
||||
@@ -347,6 +373,14 @@ try {
|
||||
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 'PowerShell 7 (pwsh.exe in PATH)' { Get-Command pwsh -ErrorAction SilentlyContinue }
|
||||
Chk 'NSIS (makensis.exe in PATH)' { Get-Command makensis -ErrorAction SilentlyContinue }
|
||||
Chk 'CMake (cmake.exe in PATH)' { Get-Command cmake -ErrorAction SilentlyContinue }
|
||||
Chk 'Node.js (node.exe in PATH)' { Get-Command node -ErrorAction SilentlyContinue }
|
||||
Chk 'WiX Toolset (wix.exe in PATH)' { Get-Command wix -ErrorAction SilentlyContinue }
|
||||
Chk 'GitHub CLI (gh.exe in PATH)' { Get-Command gh -ErrorAction SilentlyContinue }
|
||||
Chk 'Sysinternals PsExec.exe present' { Test-Path 'C:\BuildTools\Sysinternals\PsExec.exe' -PathType Leaf }
|
||||
Chk 'vcpkg.exe present' { Test-Path 'C:\BuildTools\vcpkg\vcpkg.exe' -PathType Leaf }
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user