#!/usr/bin/env bash # git push + desktop semver 명시 bump (커밋 포함) # # Desktop 은 frontend 소스를 번들하고 backend API 를 사용하므로 # frontend / backend / desktop / packages/shared 변경 후 push 시 사용하세요. # # 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 <