ci: Cache-Layout fuer app-builder-Artefakte korrigiert (gedoppelter Schluessel)
Aus artifactDownloader.go + binDownload.js verifiziert: Schluessel ist <release>-<release>, Unterverzeichnis = Namensteil vor dem ersten Bindestrich (nsis-resources daher unter nsis\). Job 431 traf winCodeSign im Cache, scheiterte aber am nsis-Miss mit einfachem Namen. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PKhFj1S3UdD6xL2fbWPeYj
This commit is contained in:
co-authored by
Claude Fable 5
parent
a55adfdd65
commit
b656eefdc7
@@ -26,23 +26,27 @@ if (-not (Test-Path $zip)) {
|
||||
}
|
||||
|
||||
# --- 2. electron-builder-Werkzeuge -> ELECTRON_BUILDER_CACHE -----------------
|
||||
# Zielstruktur wie app-builder sie erwartet: <Cache>\<SubDir>\<Name>-<Version>\
|
||||
# Zielstruktur laut app-builder-Quellcode (artifactDownloader.go) + electron-builder
|
||||
# 26.9.1 (binDownload.js): der Cache-Schluessel ist "<release>-<dateiname-ohne-ext>",
|
||||
# also GEDOPPELT (z.B. nsis-3.0.4.1-nsis-3.0.4.1), und liegt unter dem Teil des
|
||||
# Namens VOR dem ersten Bindestrich als Unterverzeichnis - nsis-resources landet
|
||||
# deshalb ebenfalls unter nsis\. Job 431 bewies den Miss mit einfachem Namen.
|
||||
$sevenZa = Join-Path $PSScriptRoot '..\..\..\node_modules\7zip-bin\win\x64\7za.exe'
|
||||
function Get-EbArtifact([string]$Name, [string]$Version, [string]$SubDir) {
|
||||
$dest = Join-Path $env:ELECTRON_BUILDER_CACHE (Join-Path $SubDir "$Name-$Version")
|
||||
function Get-EbArtifact([string]$Release, [string]$SubDir) {
|
||||
$dest = Join-Path $env:ELECTRON_BUILDER_CACHE (Join-Path $SubDir "$Release-$Release")
|
||||
if (Test-Path $dest) { return }
|
||||
$tmp = Join-Path $env:TEMP "$Name-$Version.7z"
|
||||
Get-Resumable "https://github.com/electron-userland/electron-builder-binaries/releases/download/$Name-$Version/$Name-$Version.7z" $tmp
|
||||
$tmp = Join-Path $env:TEMP "$Release.7z"
|
||||
Get-Resumable "https://github.com/electron-userland/electron-builder-binaries/releases/download/$Release/$Release.7z" $tmp
|
||||
New-Item -ItemType Directory -Force $dest | Out-Null
|
||||
& $sevenZa x -y "-o$dest" $tmp | Out-Null
|
||||
if ($LASTEXITCODE -ne 0) { Remove-Item -Recurse -Force $dest; throw "Entpacken gescheitert: $tmp" }
|
||||
}
|
||||
|
||||
# Versionen passend zu electron-builder 26.9.1 (winCodeSign aus dem Job-424-Trace;
|
||||
# die nsis-Versionen sind seit Jahren stabil). Bei einem kuenftigen Mismatch laedt
|
||||
# app-builder die richtige Version selbst und der Fehler nennt sie im Trace.
|
||||
Get-EbArtifact 'winCodeSign' '2.6.0' 'winCodeSign'
|
||||
Get-EbArtifact 'nsis' '3.0.4.1' 'nsis'
|
||||
Get-EbArtifact 'nsis-resources' '3.4.1' 'nsis'
|
||||
# Versionen passend zu electron-builder 26.9.1 (winCodeSign aus dem Job-424-Trace,
|
||||
# nsis/nsis-resources samt Checksummen aus nsisUtil.js). Bei einem kuenftigen
|
||||
# Mismatch laedt app-builder selbst und der Fehler nennt die richtige Version.
|
||||
Get-EbArtifact 'winCodeSign-2.6.0' 'winCodeSign'
|
||||
Get-EbArtifact 'nsis-3.0.4.1' 'nsis'
|
||||
Get-EbArtifact 'nsis-resources-3.4.1' 'nsis'
|
||||
|
||||
Write-Output "prefetch ok: electron v$ev + winCodeSign/nsis in den Caches"
|
||||
|
||||
Reference in New Issue
Block a user