From b656eefdc793f1790d0bd102823d6648ac600cd2 Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Fri, 31 Jul 2026 12:00:00 +0000 Subject: [PATCH] ci: Cache-Layout fuer app-builder-Artefakte korrigiert (gedoppelter Schluessel) Aus artifactDownloader.go + binDownload.js verifiziert: Schluessel ist -, 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 Claude-Session: https://claude.ai/code/session_01PKhFj1S3UdD6xL2fbWPeYj --- .../desktop/axion1337/prefetch-buildcache.ps1 | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/apps/desktop/axion1337/prefetch-buildcache.ps1 b/apps/desktop/axion1337/prefetch-buildcache.ps1 index 827f6e940..f87509975 100644 --- a/apps/desktop/axion1337/prefetch-buildcache.ps1 +++ b/apps/desktop/axion1337/prefetch-buildcache.ps1 @@ -26,23 +26,27 @@ if (-not (Test-Path $zip)) { } # --- 2. electron-builder-Werkzeuge -> ELECTRON_BUILDER_CACHE ----------------- -# Zielstruktur wie app-builder sie erwartet: \\-\ +# Zielstruktur laut app-builder-Quellcode (artifactDownloader.go) + electron-builder +# 26.9.1 (binDownload.js): der Cache-Schluessel ist "-", +# 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"