From d7106ce8da987e1aba4386f1c66af4b98ece4aa5 Mon Sep 17 00:00:00 2001 From: scastd Date: Sat, 12 Jul 2025 16:51:32 +0200 Subject: [PATCH 1/2] fix(labeler): check if label exists before adding it to generate comment --- src/labeler.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/labeler.sh b/src/labeler.sh index add76b0..b0a5650 100644 --- a/src/labeler.sh +++ b/src/labeler.sh @@ -19,13 +19,14 @@ labeler::label() { log::message "Ignoring files (if present): $files_to_ignore" local -r label_to_add=$(labeler::label_for "$total_modifications" "$@") + local -r had_label=$(github::has_label "$pr_number" "$label_to_add") log::message "Labeling pull request with $label_to_add" github::add_label_to_pr "$pr_number" "$label_to_add" "$xs_label" "$s_label" "$m_label" "$l_label" "$xl_label" if [ "$label_to_add" == "$xl_label" ]; then - if [ -n "$message_if_xl" ] && ! github::has_label "$pr_number" "$label_to_add"; then + if [ -n "$message_if_xl" ] && [ -z "$had_label" ]; then github::comment "$message_if_xl" fi From cf1b63da3a3fbf811f99f6c28cd4a405bbb24a26 Mon Sep 17 00:00:00 2001 From: scastd Date: Sat, 12 Jul 2025 18:03:56 +0200 Subject: [PATCH 2/2] fix(labeler): add return values and modify condition --- src/github.sh | 2 ++ src/labeler.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/github.sh b/src/github.sh index 58de4ce..63ef6ec 100644 --- a/src/github.sh +++ b/src/github.sh @@ -59,9 +59,11 @@ github::has_label() { local -r body=$(curl -sSL -H "Authorization: token $GITHUB_TOKEN" -H "$GITHUB_API_HEADER" "$GITHUB_API_URL/repos/$GITHUB_REPOSITORY/issues/$pr_number/labels") for label in $(echo "$body" | jq -r '.[] | @base64'); do if [ "$(echo ${label} | base64 -d | jq -r '.name')" = "$label_to_check" ]; then + echo "1" return 0 fi done + echo "0" return 1 } diff --git a/src/labeler.sh b/src/labeler.sh index b0a5650..b56c516 100644 --- a/src/labeler.sh +++ b/src/labeler.sh @@ -26,7 +26,7 @@ labeler::label() { github::add_label_to_pr "$pr_number" "$label_to_add" "$xs_label" "$s_label" "$m_label" "$l_label" "$xl_label" if [ "$label_to_add" == "$xl_label" ]; then - if [ -n "$message_if_xl" ] && [ -z "$had_label" ]; then + if [ -n "$message_if_xl" ] && [ "$had_label" -eq 0 ]; then github::comment "$message_if_xl" fi