From 8c35c68c9cb1286db6ea696fa186a01c252b86d2 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Thu, 19 Mar 2026 22:18:27 +0100 Subject: [PATCH] tools.func: display pin reason in release-check messages (#13095) * Display pin reason in release-check messages Add an optional pin_reason parameter to check_for_gh_release and check_for_codeberg_release and update the no-update messaging to show the provided reason. If no reason is supplied, show a default message indicating the update is temporarily held back due to issues with newer releases. This improves user feedback when versions are intentionally pinned. * Add informational args to release checks Pass extra informational strings to check_for_gh_release calls to surface release-specific notes. Updated ct/immich.sh (notes for Immich and VectorChord releases), ct/opencloud.sh (note for OpenCloud), and ct/plant-it.sh (note about web frontend presence). These messages clarify testing/compatibility expectations when checking/releases. --- ct/immich.sh | 4 ++-- ct/opencloud.sh | 2 +- ct/plant-it.sh | 2 +- misc/tools.func | 14 ++++++++++++-- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ct/immich.sh b/ct/immich.sh index 63ff882de..d403fc2da 100644 --- a/ct/immich.sh +++ b/ct/immich.sh @@ -110,7 +110,7 @@ EOF fi RELEASE="v2.5.6" - if check_for_gh_release "Immich" "immich-app/immich" "${RELEASE}"; then + if check_for_gh_release "Immich" "immich-app/immich" "${RELEASE}" "each release is tested individually before the version is updated. Please do not open issues for this"; then if [[ $(cat ~/.immich) > "2.5.1" ]]; then msg_info "Enabling Maintenance Mode" cd /opt/immich/app/bin @@ -125,7 +125,7 @@ EOF msg_ok "Stopped Services" VCHORD_RELEASE="0.5.3" [[ -f ~/.vchord_version ]] && mv ~/.vchord_version ~/.vectorchord - if check_for_gh_release "VectorChord" "tensorchord/VectorChord" "${VCHORD_RELEASE}"; then + if check_for_gh_release "VectorChord" "tensorchord/VectorChord" "${VCHORD_RELEASE}" "updated together with Immich after testing"; then fetch_and_deploy_gh_release "VectorChord" "tensorchord/VectorChord" "binary" "${VCHORD_RELEASE}" "/tmp" "postgresql-16-vchord_*_amd64.deb" systemctl restart postgresql $STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vector UPDATE;" diff --git a/ct/opencloud.sh b/ct/opencloud.sh index 39f8b3577..21709f80d 100644 --- a/ct/opencloud.sh +++ b/ct/opencloud.sh @@ -30,7 +30,7 @@ function update_script() { fi RELEASE="v5.2.0" - if check_for_gh_release "OpenCloud" "opencloud-eu/opencloud" "${RELEASE}"; then + if check_for_gh_release "OpenCloud" "opencloud-eu/opencloud" "${RELEASE}" "each release is tested individually before the version is updated. Please do not open issues for this"; then msg_info "Stopping services" systemctl stop opencloud opencloud-wopi msg_ok "Stopped services" diff --git a/ct/plant-it.sh b/ct/plant-it.sh index d3f858a1b..130ca22fb 100644 --- a/ct/plant-it.sh +++ b/ct/plant-it.sh @@ -29,7 +29,7 @@ function update_script() { exit fi setup_mariadb - if check_for_gh_release "plant-it" "MDeLuise/plant-it" "${RELEASE}"; then + if check_for_gh_release "plant-it" "MDeLuise/plant-it" "${RELEASE}" "last version that includes the web frontend"; then msg_info "Stopping Service" systemctl stop plant-it msg_info "Stopped Service" diff --git a/misc/tools.func b/misc/tools.func index 0b914a478..2e54b86e1 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -2271,6 +2271,7 @@ check_for_gh_release() { local app="$1" local source="$2" local pinned_version_in="${3:-}" # optional + local pin_reason="${4:-}" # optional reason shown to user local app_lc="" app_lc="$(echo "${app,,}" | tr -d ' ')" local current_file="$HOME/.${app_lc}" @@ -2444,7 +2445,11 @@ check_for_gh_release() { return 0 fi - msg_ok "No update available: ${app} is already on pinned version (${current})" + if [[ -n "$pin_reason" ]]; then + msg_ok "No update available: ${app} (${current}) - update held back: ${pin_reason}" + else + msg_ok "No update available: ${app} (${current}) - update temporarily held back due to issues with newer releases" + fi return 1 fi @@ -2483,6 +2488,7 @@ check_for_codeberg_release() { local app="$1" local source="$2" local pinned_version_in="${3:-}" # optional + local pin_reason="${4:-}" # optional reason shown to user local app_lc="${app,,}" local current_file="$HOME/.${app_lc}" @@ -2562,7 +2568,11 @@ check_for_codeberg_release() { return 0 fi - msg_ok "No update available: ${app} is already on pinned version (${current})" + if [[ -n "$pin_reason" ]]; then + msg_ok "No update available: ${app} (${current}) - update held back: ${pin_reason}" + else + msg_ok "No update available: ${app} (${current}) - update temporarily held back due to issues with newer releases" + fi return 1 fi