fix(workflow): ensure version suffix is only removed if defined

This commit is contained in:
2026-05-06 22:05:20 +08:00
parent 66a44b739d
commit cce9abd3ed
+16 -14
View File
@@ -291,21 +291,21 @@ jobs:
printf 'USE_SUDO=%s\n' "${nas_use_sudo}"
printf 'SUDO_PASSWORD_B64=%s\n' "${sudo_password_b64}"
cat <<'REMOTE_SCRIPT'
set -eu
SUDO_PASSWORD="$(printf '%s' "${SUDO_PASSWORD_B64}" | base64 -d 2>/dev/null || true)"
unset SUDO_PASSWORD_B64
set -eu
SUDO_PASSWORD="$(printf '%s' "${SUDO_PASSWORD_B64}" | base64 -d 2>/dev/null || true)"
unset SUDO_PASSWORD_B64
run_cmd() {
if [ "${USE_SUDO}" = "true" ]; then
printf '%s\n' "${SUDO_PASSWORD}" | sudo -S -p "" "$@"
else
"$@"
fi
}
run_cmd() {
if [ "${USE_SUDO}" = "true" ]; then
printf '%s\n' "${SUDO_PASSWORD}" | sudo -S -p "" "$@"
else
"$@"
fi
}
run_cmd mkdir -p "${OUTPUT_DIR}"
run_cmd find "${OUTPUT_DIR}" -maxdepth 3 \( -type f -o -type d -o -type l \) -print 2>/dev/null | sed 's#.*/##'
REMOTE_SCRIPT
run_cmd mkdir -p "${OUTPUT_DIR}"
run_cmd find "${OUTPUT_DIR}" -maxdepth 3 \( -type f -o -type d -o -type l \) -print 2>/dev/null | sed 's#.*/##'
REMOTE_SCRIPT
} | SSHPASS="${nas_ssh_password}" sshpass -e ssh \
-p "${nas_port}" \
-o BatchMode=no \
@@ -701,7 +701,9 @@ jobs:
[ -e "${candidate}" ] || continue
name="${candidate##*/}"
version="${name#${prefix}}"
version="${version%${suffix}}"
if [ -n "${suffix}" ]; then
version="${version%${suffix}}"
fi
case "${version}" in
*[!0-9.]*|""|*.*.*.*)