fix(template): Handle Git version tag vs filename mismatch

GitHub release tag: v2.54.0.windows.1
Filename in release: Git-2.54.0-64-bit.exe (no .windows.1)

Extract base version for filename via regex:
  $gitVersionBase = $GitVersion -replace '\.windows\.\d+$', ''

URL now correctly formed as:
  .../download/v2.54.0.windows.1/Git-2.54.0-64-bit.exe

Reverted GitVersion back to '2.54.0.windows.1' (needed for tag).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Simone
2026-05-10 21:26:00 +02:00
parent c6b0957865
commit 3283109bed
+5 -3
View File
@@ -144,7 +144,7 @@ param(
[string] $AdminPassword = '', [string] $AdminPassword = '',
# Git for Windows version (latest stable) # Git for Windows version (latest stable)
[string] $GitVersion = '2.54.0', [string] $GitVersion = '2.54.0.windows.1',
# 7-Zip version (latest stable) # 7-Zip version (latest stable)
[string] $SevenZipVersion = '24.07' [string] $SevenZipVersion = '24.07'
@@ -997,7 +997,9 @@ $gitExe = Join-Path $gitDir 'bin\git.exe'
if (Test-Path $gitExe) { if (Test-Path $gitExe) {
Write-Host "Git for Windows already installed: $(& $gitExe --version 2>&1)" Write-Host "Git for Windows already installed: $(& $gitExe --version 2>&1)"
} else { } else {
$gitUrl = "https://github.com/git-for-windows/git/releases/download/v$GitVersion/Git-$GitVersion-64-bit.exe" # Extract base version (e.g. '2.54.0' from '2.54.0.windows.1') for filename
$gitVersionBase = $GitVersion -replace '\.windows\.\d+$', ''
$gitUrl = "https://github.com/git-for-windows/git/releases/download/v$GitVersion/Git-$gitVersionBase-64-bit.exe"
$gitInstaller = 'C:\CI\git_installer.exe' $gitInstaller = 'C:\CI\git_installer.exe'
Write-Host "Downloading Git for Windows $GitVersion..." Write-Host "Downloading Git for Windows $GitVersion..."
@@ -1007,7 +1009,7 @@ if (Test-Path $gitExe) {
throw "Failed to download Git from $gitUrl : $_" throw "Failed to download Git from $gitUrl : $_"
} }
Assert-Hash -FilePath $gitInstaller -Label "Git-$GitVersion-64-bit.exe" ` Assert-Hash -FilePath $gitInstaller -Label "Git-$gitVersionBase-64-bit.exe" `
-Expected $script:Hashes['GitForWindows'] -Expected $script:Hashes['GitForWindows']
Write-Host "Installing Git for Windows (silent, with PATH)..." Write-Host "Installing Git for Windows (silent, with PATH)..."