버전문제 수정
This commit is contained in:
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
# 배포된 Desktop semver 확인 (latest.json · build-info · 설치 파일)
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
BASE_URL="${DESKTOP_UPDATE_BASE_URL:-https://exdev.co.kr/desktop/updates}"
|
||||
LATEST_URL="${DESKTOP_PUBLISHED_LATEST_URL:-${BASE_URL}/latest.json}"
|
||||
UPDATES_DIR="${UPDATES_DIR:-$ROOT/frontend/public/desktop/updates}"
|
||||
RELEASE_DIR="${GC_DESKTOP_APP_RELEASE_DIR:-$ROOT/data/desktop-releases}"
|
||||
GIT_VER="$("$ROOT/scripts/read-desktop-version.sh" 2>/dev/null || echo '?')"
|
||||
|
||||
log() { echo "[verify-desktop-version] $*"; }
|
||||
|
||||
log "git tauri.conf → v${GIT_VER}"
|
||||
log "remote latest.json → ${LATEST_URL}"
|
||||
|
||||
REMOTE_VER=""
|
||||
if REMOTE_JSON="$(curl -sf --connect-timeout 5 --max-time 12 "$LATEST_URL" 2>/dev/null)"; then
|
||||
REMOTE_VER="$(printf '%s' "$REMOTE_JSON" | node -e "
|
||||
let d=''; process.stdin.on('data',c=>d+=c);
|
||||
process.stdin.on('end',()=>{ try { console.log(JSON.parse(d).version||''); } catch { console.log(''); } });
|
||||
" 2>/dev/null || true)"
|
||||
log "remote version → v${REMOTE_VER:-?}"
|
||||
else
|
||||
log "remote version → (fetch failed)"
|
||||
fi
|
||||
|
||||
if [[ -f "$UPDATES_DIR/latest.json" ]]; then
|
||||
LOCAL_PUB="$(node -p "require('$UPDATES_DIR/latest.json').version" 2>/dev/null || echo '?')"
|
||||
log "local latest.json → v${LOCAL_PUB} ($UPDATES_DIR)"
|
||||
fi
|
||||
|
||||
if [[ -f "$ROOT/dist-desktop/build-info.json" ]]; then
|
||||
BI="$(node -p "require('$ROOT/dist-desktop/build-info.json').version" 2>/dev/null || echo '?')"
|
||||
log "last build-info → v${BI}"
|
||||
fi
|
||||
|
||||
if [[ -d "$RELEASE_DIR" ]]; then
|
||||
log "release installers → $RELEASE_DIR"
|
||||
ls -1 "$RELEASE_DIR"/*.dmg "$RELEASE_DIR"/*setup.exe 2>/dev/null | while read -r f; do
|
||||
log " $(basename "$f")"
|
||||
done || true
|
||||
fi
|
||||
|
||||
if [[ -n "$REMOTE_VER" && "$GIT_VER" != "?" ]]; then
|
||||
node -e "
|
||||
const parse = v => String(v||'0').split('.').map(n=>parseInt(n,10)||0);
|
||||
const a=parse(process.argv[1]), b=parse(process.argv[2]);
|
||||
for(let i=0;i<3;i++){const d=(a[i]||0)-(b[i]||0);if(d){process.exit(d>0?0:1)}}
|
||||
process.exit(0);
|
||||
" "$GIT_VER" "$REMOTE_VER" && log "OK: git >= remote" || log "WARN: git v${GIT_VER} < remote v${REMOTE_VER} — push:desktop 또는 Jenkins 재빌드 필요"
|
||||
fi
|
||||
Reference in New Issue
Block a user