버전 불일치 문제
This commit is contained in:
+49
-20
@@ -2,11 +2,14 @@
|
||||
# GoldenChart Desktop — macOS Jenkins 빌드 (macOS dmg + Windows NSIS cross-build)
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
cd "$ROOT"
|
||||
SCRIPT_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
WORK_TREE="${WORK_TREE:-$SCRIPT_ROOT}"
|
||||
cd "$WORK_TREE"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
source "$ROOT/scripts/desktop-dev-path.sh"
|
||||
source "$WORK_TREE/scripts/desktop-dev-path.sh"
|
||||
# shellcheck disable=SC1091
|
||||
source "$WORK_TREE/scripts/desktop-installer-version.sh"
|
||||
# shellcheck disable=SC1091
|
||||
[[ -f "$HOME/.cargo/env" ]] && source "$HOME/.cargo/env"
|
||||
|
||||
@@ -25,8 +28,8 @@ while [[ $# -gt 0 ]]; do
|
||||
done
|
||||
|
||||
echo "=== GoldenChart Desktop Build ==="
|
||||
echo "Root: $ROOT"
|
||||
echo "Git: $(git -C "$ROOT" rev-parse --short HEAD 2>/dev/null || echo 'n/a')"
|
||||
echo "Work tree: $WORK_TREE"
|
||||
echo "Git: $(git -C "$WORK_TREE" rev-parse --short HEAD 2>/dev/null || echo 'n/a')"
|
||||
|
||||
need_cmd() {
|
||||
if ! command -v "$1" >/dev/null 2>&1; then
|
||||
@@ -45,14 +48,16 @@ if [[ "$BUILD_WIN" -eq 1 ]]; then
|
||||
rustup target add x86_64-pc-windows-msvc 2>/dev/null || true
|
||||
fi
|
||||
|
||||
CONF="$ROOT/desktop/src-tauri/tauri.conf.json"
|
||||
CONF="$WORK_TREE/desktop/src-tauri/tauri.conf.json"
|
||||
|
||||
# CI: 매 Jenkins 빌드마다 patch 버전 bump (git tauri.conf 0.1.4 고정이어도 산출물 버전 증가)
|
||||
if [[ -z "${BUMP_VERSION:-}" ]] && [[ "${DESKTOP_BUMP_ON_CI:-1}" == "1" ]] \
|
||||
# CI patch bump (jenkins-desktop-pipeline 에서 선행 bump 시 DESKTOP_SKIP_VERSION_BUMP=1)
|
||||
if [[ "${DESKTOP_SKIP_VERSION_BUMP:-}" != "1" ]] \
|
||||
&& [[ -z "${BUMP_VERSION:-}" ]] \
|
||||
&& [[ "${DESKTOP_BUMP_ON_CI:-1}" == "1" ]] \
|
||||
&& [[ -n "${BUILD_NUMBER:-}${DESKTOP_AUTO_BUMP:-}" ]]; then
|
||||
chmod +x "$ROOT/scripts/bump-desktop-version-from-release.sh"
|
||||
export WORK_TREE="$ROOT"
|
||||
BUMPED="$("$ROOT/scripts/bump-desktop-version-from-release.sh")"
|
||||
chmod +x "$WORK_TREE/scripts/bump-desktop-version-from-release.sh"
|
||||
export WORK_TREE
|
||||
BUMPED="$("$WORK_TREE/scripts/bump-desktop-version-from-release.sh")"
|
||||
echo "Desktop CI version bump → $BUMPED"
|
||||
fi
|
||||
|
||||
@@ -85,12 +90,12 @@ fs.writeFileSync(confPath, JSON.stringify(conf, null, 2) + '\n');
|
||||
console.log('window title →', title);
|
||||
" "$CONF" "$VERSION"
|
||||
|
||||
if [[ -f "$ROOT/scripts/patch-tauri-updater-pubkey.sh" ]]; then
|
||||
chmod +x "$ROOT/scripts/patch-tauri-updater-pubkey.sh"
|
||||
if [[ -f "$WORK_TREE/scripts/patch-tauri-updater-pubkey.sh" ]]; then
|
||||
chmod +x "$WORK_TREE/scripts/patch-tauri-updater-pubkey.sh"
|
||||
fi
|
||||
chmod +x "$ROOT/scripts/prepare-tauri-build.sh" 2>/dev/null || true
|
||||
chmod +x "$WORK_TREE/scripts/prepare-tauri-build.sh" 2>/dev/null || true
|
||||
# shellcheck disable=SC1091
|
||||
source "$ROOT/scripts/prepare-tauri-build.sh"
|
||||
source "$WORK_TREE/scripts/prepare-tauri-build.sh"
|
||||
|
||||
npm install
|
||||
|
||||
@@ -98,9 +103,9 @@ echo "--- Vite build (desktop) ---"
|
||||
export DESKTOP_APP_VERSION="$VERSION"
|
||||
npm run build -w @goldenchart/desktop
|
||||
|
||||
DESKTOP_DIR="$ROOT/desktop"
|
||||
DESKTOP_DIR="$WORK_TREE/desktop"
|
||||
TAURI_TARGET="$DESKTOP_DIR/src-tauri/target"
|
||||
ARTIFACT_DIR="$ROOT/dist-desktop"
|
||||
ARTIFACT_DIR="${ARTIFACT_DIR:-$WORK_TREE/dist-desktop}"
|
||||
UPDATES_DIR="$ARTIFACT_DIR/updates"
|
||||
rm -rf "$ARTIFACT_DIR"
|
||||
mkdir -p "$ARTIFACT_DIR" "$UPDATES_DIR"
|
||||
@@ -125,7 +130,7 @@ copy_installer_matching_version() {
|
||||
local found=""
|
||||
while IFS= read -r f; do
|
||||
[[ -z "$f" ]] && continue
|
||||
if [[ "$f" == *"${VERSION}"* ]]; then
|
||||
if desktop_installer_matches_version "$(basename "$f")" "$VERSION"; then
|
||||
found="$f"
|
||||
break
|
||||
fi
|
||||
@@ -157,8 +162,32 @@ if [[ "$BUILD_WIN" -eq 1 ]]; then
|
||||
collect_updater_artifacts
|
||||
fi
|
||||
|
||||
GIT_SHA="$(git -C "$ROOT" rev-parse HEAD 2>/dev/null || echo '')"
|
||||
GIT_SHORT="$(git -C "$ROOT" rev-parse --short HEAD 2>/dev/null || echo '')"
|
||||
# mac·win 설치 파일 semver 일치 검증
|
||||
MAC_VER="" WIN_VER=""
|
||||
shopt -s nullglob
|
||||
for f in "$ARTIFACT_DIR"/*.dmg; do
|
||||
MAC_VER="$(desktop_extract_version_from_name "$(basename "$f")")"
|
||||
done
|
||||
for f in "$ARTIFACT_DIR"/*setup.exe; do
|
||||
WIN_VER="$(desktop_extract_version_from_name "$(basename "$f")")"
|
||||
done
|
||||
shopt -u nullglob
|
||||
|
||||
if [[ "$BUILD_MAC" -eq 1 && -n "$MAC_VER" && "$MAC_VER" != "$VERSION" ]]; then
|
||||
echo "ERROR: macOS installer v${MAC_VER} != build v${VERSION}" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ "$BUILD_WIN" -eq 1 && -n "$WIN_VER" && "$WIN_VER" != "$VERSION" ]]; then
|
||||
echo "ERROR: Windows installer v${WIN_VER} != build v${VERSION}" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ "$BUILD_MAC" -eq 1 && "$BUILD_WIN" -eq 1 && -n "$MAC_VER" && -n "$WIN_VER" && "$MAC_VER" != "$WIN_VER" ]]; then
|
||||
echo "ERROR: macOS v${MAC_VER} != Windows v${WIN_VER}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
GIT_SHA="$(git -C "$WORK_TREE" rev-parse HEAD 2>/dev/null || echo '')"
|
||||
GIT_SHORT="$(git -C "$WORK_TREE" rev-parse --short HEAD 2>/dev/null || echo '')"
|
||||
cat > "$ARTIFACT_DIR/build-info.json" <<EOF
|
||||
{
|
||||
"version": "$VERSION",
|
||||
|
||||
Reference in New Issue
Block a user