diff --git a/deploy/build_desktop.sh b/deploy/build_desktop.sh index 2381067..8c9f087 100755 --- a/deploy/build_desktop.sh +++ b/deploy/build_desktop.sh @@ -22,6 +22,8 @@ case "$TARGET" in ;; esac +VERSION="$(node -p "require('./desktop/package.json').version")" + if [ ! -d desktop/node_modules ]; then echo "==> Installing desktop dependencies ..." npm --prefix desktop ci --no-audit --no-fund @@ -32,14 +34,25 @@ if [ "$TARGET" != "linux" ] && ! command -v wine >/dev/null 2>&1; then exit 1 fi +# release/ should only ever hold the current version: old installers are +# rebuilt from git when needed, and the unpacked trees are regenerated. +shopt -s nullglob +stale=(desktop/release/*.deb desktop/release/*.pkg.tar.zst desktop/release/"J621 Setup "*.exe + desktop/release/*.blockmap desktop/release/latest*.yml) +for file in "${stale[@]}"; do + case "$(basename "$file")" in + *"$VERSION"*) ;; + *) echo " removing $(basename "$file")"; rm -f "$file" ;; + esac +done +rm -rf desktop/release/linux-unpacked desktop/release/win-unpacked + case "$TARGET" in linux) npm --prefix desktop run dist:linux ;; win) npm --prefix desktop run dist:win ;; all) npm --prefix desktop run dist:all ;; esac -VERSION="$(node -p "require('./desktop/package.json').version")" - case "$TARGET" in linux) ARTIFACTS=(-name "*${VERSION}*.deb" -o -name "*${VERSION}*.pkg.tar.zst") ;; win) ARTIFACTS=(-name "*${VERSION}*.exe") ;;