fix: use .exe.sig for tauri v2 updater format

This commit is contained in:
lanrtop 2026-04-02 09:23:29 +09:00
parent f41e3c0ae6
commit 966c593c8a

View File

@ -88,12 +88,11 @@ jobs:
Get-ChildItem "$env:GITHUB_WORKSPACE\src-tauri\target\release\bundle" -Recurse | ForEach-Object { Write-Host $_.FullName } Get-ChildItem "$env:GITHUB_WORKSPACE\src-tauri\target\release\bundle" -Recurse | ForEach-Object { Write-Host $_.FullName }
$all = Get-ChildItem $nsisDir $all = Get-ChildItem $nsisDir
# Tauri v2: 更新包是 .exe + .exe.sig不再是 .nsis.zip
$installer = $all | Where-Object { $_.Name.EndsWith('-setup.exe') } | Select-Object -First 1 $installer = $all | Where-Object { $_.Name.EndsWith('-setup.exe') } | Select-Object -First 1
$updateZip = $all | Where-Object { $_.Name.EndsWith('.nsis.zip') -and -not $_.Name.EndsWith('.nsis.zip.sig') } | Select-Object -First 1 $sigFile = $all | Where-Object { $_.Name.EndsWith('-setup.exe.sig') } | Select-Object -First 1
$sigFile = $all | Where-Object { $_.Name.EndsWith('.nsis.zip.sig') } | Select-Object -First 1
Write-Host "installer : $($installer?.FullName)" Write-Host "installer : $($installer?.FullName)"
Write-Host "updateZip : $($updateZip?.FullName)"
Write-Host "sigFile : $($sigFile?.FullName)" Write-Host "sigFile : $($sigFile?.FullName)"
if (-not $installer) { Write-Error "installer not found!"; exit 1 } if (-not $installer) { Write-Error "installer not found!"; exit 1 }
@ -105,11 +104,10 @@ jobs:
& $oss cp $installer.FullName "$bucket/releases/$tag/$($installer.Name)" -f & $oss cp $installer.FullName "$bucket/releases/$tag/$($installer.Name)" -f
if ($updateZip -and $sigFile) { if ($sigFile) {
& $oss cp $updateZip.FullName "$bucket/releases/$tag/$($updateZip.Name)" -f
& $oss cp $sigFile.FullName "$bucket/releases/$tag/$($sigFile.Name)" -f & $oss cp $sigFile.FullName "$bucket/releases/$tag/$($sigFile.Name)" -f
# 生成 latest.json # 生成 latest.jsonTauri v2 格式url 指向 .exesignature 来自 .exe.sig
$date = (Get-Date -Format 'yyyy-MM-ddTHH:mm:ssZ') $date = (Get-Date -Format 'yyyy-MM-ddTHH:mm:ssZ')
$baseUrl = "https://$env:OSS_BUCKET.$env:OSS_ENDPOINT/releases/$tag" $baseUrl = "https://$env:OSS_BUCKET.$env:OSS_ENDPOINT/releases/$tag"
$sig = (Get-Content $sigFile.FullName -Raw).Trim() $sig = (Get-Content $sigFile.FullName -Raw).Trim()
@ -121,7 +119,7 @@ jobs:
platforms = [ordered]@{ platforms = [ordered]@{
'windows-x86_64' = [ordered]@{ 'windows-x86_64' = [ordered]@{
signature = $sig signature = $sig
url = "$baseUrl/$($updateZip.Name)" url = "$baseUrl/$($installer.Name)"
} }
} }
} | ConvertTo-Json -Depth 5 } | ConvertTo-Json -Depth 5
@ -133,6 +131,5 @@ jobs:
& $oss cp latest.json "$bucket/latest.json" -f & $oss cp latest.json "$bucket/latest.json" -f
Write-Host "latest.json uploaded" Write-Host "latest.json uploaded"
} else { } else {
Write-Warning "update bundle (.nsis.zip) not found — skipping updater upload" Write-Warning "sigFile (.exe.sig) not found — skipping updater upload"
Write-Warning "Check that TAURI_SIGNING_PRIVATE_KEY is correctly set"
} }