71 lines
2.2 KiB
Bash
Executable File
71 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# git push + desktop semver bump (원격 latest.json 반영) + push + Jenkins
|
|
#
|
|
# plain git push 만 하면 git tauri.conf 버전 그대로 빌드될 수 있습니다.
|
|
# 이 스크립트 또는 Jenkins CI bump(DESKTOP_BUMP_ON_CI=1) 로 semver 가 올라갑니다.
|
|
#
|
|
# Usage:
|
|
# ./scripts/push-with-desktop-version.sh [git push 인자...]
|
|
# ./scripts/push-with-desktop-version.sh origin main
|
|
#
|
|
# Env:
|
|
# TRIGGER_DESKTOP_BUILD=1 push 후 Jenkins Desktop 빌드 트리거 (기본 1)
|
|
# DESKTOP_SKIP_BUMP=1 버전 bump 생략 (이미 올린 경우)
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
cd "$ROOT"
|
|
|
|
log() { echo "[push-desktop] $*"; }
|
|
|
|
if ! git diff-index --quiet HEAD --; then
|
|
log "ERROR: commit 되지 않은 변경이 있습니다."
|
|
log " 1) 코드 변경을 git commit"
|
|
log " 2) ./scripts/push-with-desktop-version.sh 실행"
|
|
exit 1
|
|
fi
|
|
|
|
REMOTE="${1:-origin}"
|
|
BRANCH="${2:-main}"
|
|
if [[ $# -ge 1 ]]; then
|
|
PUSH_ARGS=("$@")
|
|
else
|
|
PUSH_ARGS=(origin main)
|
|
fi
|
|
|
|
if [[ "${DESKTOP_SKIP_BUMP:-}" != "1" ]]; then
|
|
BEFORE="$("$ROOT/scripts/read-desktop-version.sh")"
|
|
NEW_VER="$("$ROOT/scripts/bump-desktop-version-for-push.sh")"
|
|
log "Desktop version: v${BEFORE} → v${NEW_VER}"
|
|
|
|
git add desktop/src-tauri/tauri.conf.json desktop/package.json
|
|
|
|
if git diff --cached --quiet -- desktop/src-tauri/tauri.conf.json desktop/package.json; then
|
|
log "버전 파일 변경 없음 (v${NEW_VER})"
|
|
else
|
|
git commit -m "$(cat <<EOF
|
|
chore(desktop): bump version to v${NEW_VER}
|
|
|
|
EOF
|
|
)"
|
|
log "커밋됨: chore(desktop): bump version to v${NEW_VER}"
|
|
fi
|
|
else
|
|
NEW_VER="$("$ROOT/scripts/read-desktop-version.sh")"
|
|
log "버전 bump 생략 — v${NEW_VER}"
|
|
fi
|
|
|
|
log "git push ${PUSH_ARGS[*]}"
|
|
git push "${PUSH_ARGS[@]}"
|
|
|
|
if [[ "${TRIGGER_DESKTOP_BUILD:-1}" == "1" ]] && [[ -x "$ROOT/scripts/trigger-desktop-jenkins-build.sh" ]]; then
|
|
log "Jenkins Desktop Pipeline 트리거..."
|
|
if "$ROOT/scripts/trigger-desktop-jenkins-build.sh"; then
|
|
log "Jenkins 빌드 큐 등록 완료 (v${NEW_VER})"
|
|
else
|
|
log "[WARN] Jenkins 트리거 실패 — 수동으로 goldenChart-Desktop-Pipeline 실행"
|
|
fi
|
|
fi
|
|
|
|
log "완료 — 다음 Desktop 빌드 버전: v${NEW_VER}"
|