42 lines
1.5 KiB
Bash
Executable File
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"
|