mirror of
https://github.com/arsvendg/Stirling-PDF.git
synced 2026-07-14 10:34:06 +02:00
67 lines
2.5 KiB
Bash
67 lines
2.5 KiB
Bash
#!/usr/bin/env bash
|
|
# Starts a local HTTP server on port 8090 serving an update manifest.
|
|
#
|
|
# If a real signed build exists in .update-dist/ (produced by build-dev-update.sh),
|
|
# it is served automatically — enabling the full download + install flow.
|
|
# Otherwise a placeholder manifest is served, which is enough to test the UI only.
|
|
set -euo pipefail
|
|
|
|
PORT=8090
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
DIST_DIR="$SCRIPT_DIR/.update-dist"
|
|
|
|
if [ -f "$DIST_DIR/latest.json" ]; then
|
|
# ── real signed build ─────────────────────────────────────────────────────
|
|
SERVE_DIR="$DIST_DIR"
|
|
VERSION="$(python3 -c "import json; print(json.load(open('$DIST_DIR/latest.json'))['version'])" 2>/dev/null || grep -o '"version":"[^"]*"' "$DIST_DIR/latest.json" | head -1 | cut -d'"' -f4)"
|
|
echo "Serving real signed build from .update-dist/"
|
|
echo " version : $VERSION"
|
|
echo " manifest: http://localhost:$PORT/latest.json"
|
|
echo " install : full download + verify flow will work"
|
|
else
|
|
# ── placeholder (UI testing only) ─────────────────────────────────────────
|
|
SERVE_DIR="$(mktemp -d)"
|
|
VERSION="99.0.0"
|
|
|
|
OS="$(uname -s)"
|
|
ARCH="$(uname -m)"
|
|
case "$OS" in
|
|
Linux) TAURI_PLATFORM="linux-x86_64" ;;
|
|
Darwin)
|
|
case "$ARCH" in
|
|
arm64) TAURI_PLATFORM="darwin-aarch64" ;;
|
|
*) TAURI_PLATFORM="darwin-x86_64" ;;
|
|
esac ;;
|
|
*) TAURI_PLATFORM="windows-x86_64" ;;
|
|
esac
|
|
|
|
PUB_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
|
|
|
cat > "$SERVE_DIR/latest.json" << EOF
|
|
{
|
|
"version": "$VERSION",
|
|
"notes": "Dev test update v$VERSION — placeholder (UI testing only)",
|
|
"pub_date": "$PUB_DATE",
|
|
"platforms": {
|
|
"$TAURI_PLATFORM": {
|
|
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHBsYWNlaG9sZGVyIHNpZyBmb3IgZGV2IHRlc3Rpbmcgb25seQ==",
|
|
"url": "http://localhost:$PORT/dummy-update-$VERSION.tar.gz"
|
|
}
|
|
}
|
|
}
|
|
EOF
|
|
echo "No real build found in .update-dist/ — serving placeholder manifest."
|
|
echo " version : $VERSION (placeholder)"
|
|
echo " manifest: http://localhost:$PORT/latest.json"
|
|
echo " install : will fail signature verification (expected for UI testing)"
|
|
echo ""
|
|
echo " To test the full install flow, run first:"
|
|
echo " npm run tauri:build-dev-update"
|
|
fi
|
|
|
|
echo ""
|
|
echo "Press Ctrl+C to stop."
|
|
echo ""
|
|
|
|
cd "$SERVE_DIR" && python3 -m http.server "$PORT"
|