Files
goldenChart/scripts/prepare-desktop-jenkins-build.sh
T
2026-06-15 15:44:43 +09:00

42 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# Jenkins Desktop 빌드 시작 전 — git 동기화·deps·source-state (1회 성공률 향상)
set -euo pipefail
WORK_TREE="${WORK_TREE:-/Users/aidev/apps/goldenChart}"
ROOT="$WORK_TREE"
export WORK_TREE
export PATH="/opt/homebrew/opt/llvm/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:${PATH:-/usr/bin:/bin}"
for prefix in "$HOME/homebrew" /opt/homebrew; do
[[ -x "$prefix/bin/brew" ]] && eval "$("$prefix/bin/brew" shellenv)"
done
# shellcheck disable=SC1091
[[ -f "$HOME/.cargo/env" ]] && source "$HOME/.cargo/env"
log() { echo "[prepare-desktop $(date '+%H:%M:%S')] $*"; }
GIT_DIR="${GIT_DIR:-/Volumes/ADATA/git/goldenChart.git}"
if [[ -d "$GIT_DIR" ]]; then
log "git fetch + checkout main"
if git --git-dir="$GIT_DIR" remote get-url origin >/dev/null 2>&1; then
git --git-dir="$GIT_DIR" fetch origin main 2>/dev/null || true
fi
git --git-dir="$GIT_DIR" --work-tree="$WORK_TREE" checkout -f main 2>/dev/null || true
git --git-dir="$GIT_DIR" --work-tree="$WORK_TREE" reset --hard main 2>/dev/null || true
fi
chmod +x "$WORK_TREE/scripts/"*.sh 2>/dev/null || true
"$WORK_TREE/scripts/update-desktop-source-state.sh"
if ! command -v cargo-xwin >/dev/null 2>&1 || ! command -v rustc >/dev/null 2>&1; then
log "desktop build deps 설치"
"$WORK_TREE/scripts/install-desktop-build-deps.sh"
fi
if [[ -f "$WORK_TREE/desktop/updater.pub" ]]; then
"$WORK_TREE/scripts/patch-tauri-updater-pubkey.sh"
fi
log "HEAD $(git -C "$WORK_TREE" rev-parse --short HEAD 2>/dev/null || echo n/a)"
log "prepare OK"