From 15ec8f1be1d300e4b80661c0015b5ae755b090f5 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sun, 25 Oct 2026 14:09:59 +0100 Subject: [PATCH] fix(host-agent): Windows-Build scheitert nicht mehr an nssm.cc-Ausfaellen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit nssm.cc lieferte 503 → Windows-Build im Release fehlgeschlagen, und das Skript hat die Ursache verschluckt (>/dev/null). Jetzt: 3 Versuche je Quelle, Ersatz aus dem Internet Archive, feste SHA-256-Pruefsumme (beide Quellen liefern dieselbe Datei). release_agent.sh schreibt das Build-Log nach dist/build-win.log und zeigt bei Fehlern die letzten Zeilen. Co-Authored-By: Claude Opus 5.5 --- host-agent/Dockerfile.win | 11 ++++++++++- host-agent/release_agent.sh | 6 ++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/host-agent/Dockerfile.win b/host-agent/Dockerfile.win index 3566a71..ac07a6f 100644 --- a/host-agent/Dockerfile.win +++ b/host-agent/Dockerfile.win @@ -18,7 +18,16 @@ WORKDIR /work # nssm — Non-Sucking Service Manager (public domain): macht aus der Konsolen-.exe # einen sauberen Windows-Dienst (die .exe selbst spricht das SCM nicht). -RUN curl -fsSL https://nssm.cc/release/nssm-2.24.zip -o /tmp/nssm.zip \ +# nssm.cc faellt oefter aus (503) — dann Ersatz aus dem Internet Archive. +# Beide liefern dieselbe Datei; die Pruefsumme stellt das sicher. +ARG NSSM_SHA256=727d1e42275c605e0f04aba98095c38a8e1e46def453cdffce42869428aa6743 +RUN for url in https://nssm.cc/release/nssm-2.24.zip \ + "https://web.archive.org/web/2024id_/https://nssm.cc/release/nssm-2.24.zip"; do \ + curl -fsSL --retry 3 --retry-delay 5 --retry-all-errors "$url" -o /tmp/nssm.zip \ + && echo "$NSSM_SHA256 /tmp/nssm.zip" | sha256sum -c - && break; \ + echo "nssm: $url fehlgeschlagen, versuche naechste Quelle" >&2; rm -f /tmp/nssm.zip; \ + done \ + && test -f /tmp/nssm.zip \ && unzip -q /tmp/nssm.zip -d /tmp \ && cp /tmp/nssm-2.24/win64/nssm.exe ./nssm.exe \ && rm -rf /tmp/nssm* diff --git a/host-agent/release_agent.sh b/host-agent/release_agent.sh index cde8fa7..cc5cfcf 100755 --- a/host-agent/release_agent.sh +++ b/host-agent/release_agent.sh @@ -117,11 +117,13 @@ if [ "${SKIP_WINDOWS:-0}" = "1" ]; then echo -e " ${YELLOW}Windows-Build uebersprungen (SKIP_WINDOWS=1)${NC}" else echo -e " ${CYAN}…${NC} Windows-.exe + setup.exe bauen (Wine, kann dauern)" - if ./build-win.sh "$VERSION" >/dev/null 2>&1; then + WIN_LOG="$SCRIPT_DIR/dist/build-win.log" + if ./build-win.sh "$VERSION" >"$WIN_LOG" 2>&1; then echo -e " ${GREEN}✓${NC} Windows-.exe + setup.exe" else echo -e " ${YELLOW}Windows-Build fehlgeschlagen — Release laeuft ohne Windows weiter.${NC}" - echo -e " ${YELLOW}(Einzeln testen: ./build-win.sh $VERSION)${NC}" + echo -e " ${YELLOW}Letzte Zeilen (ganzes Log: $WIN_LOG):${NC}" + tail -n 8 "$WIN_LOG" | sed 's/^/ /' fi fi echo ""