#!/usr/bin/env bash # One-shot Windows release build for the GUI: # 1) cross-compile the embedded core in docker (llmsproxy.exe + lua51.dll) # 2) host-side electron-builder NSIS packaging (wine required on host) # Outputs: cmd/build/gui-dist/"ModelRouter Setup .exe" set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" cd "$ROOT/cmd/gui" # 1) core (docker) "$ROOT/cmd/gui/scripts/win-core-docker.sh" # 2) packaging (host, needs wine for electron-builder's signtool/nsis) command -v wine >/dev/null || { echo "wine required on host for NSIS packaging"; exit 1; } if ! command -v npx >/dev/null; then echo "node/npm required"; exit 1; fi echo "[dist-win] electron-builder --win nsis ..." # bin artifacts already refreshed by win-core-docker.sh; skip the prepare step npx electron-builder --win nsis ls -la "$ROOT/cmd/build/gui-dist/"*.exe 2>/dev/null echo "[dist-win] done"