From b7eec51d274f70da3a1229452f443c79688dc6d6 Mon Sep 17 00:00:00 2001 From: Markus Pesch Date: Sun, 31 May 2026 19:15:22 +0200 Subject: [PATCH] fix(scripts): support pre-releases --- .gitea/scripts/add-annotations.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.gitea/scripts/add-annotations.sh b/.gitea/scripts/add-annotations.sh index b22cf91..20958ad 100755 --- a/.gitea/scripts/add-annotations.sh +++ b/.gitea/scripts/add-annotations.sh @@ -8,8 +8,9 @@ if [ ! -f "${CHART_FILE}" ]; then exit 1 fi -DEFAULT_NEW_TAG="$(git tag --sort=-version:refname | head -n 1)" -DEFAULT_OLD_TAG="$(git tag --sort=-version:refname | head -n 2 | tail -n 1)" +# Exclude prerelease tags (matching -rc or -rc-) from default tag selection +DEFAULT_NEW_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp '\-rc(-[0-9]+)?$' | head --lines 1)" +DEFAULT_OLD_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp '\-rc(-[0-9]+)?$' | head --lines 2 | tail --lines 1)" if [ -z "${1}" ]; then read -p "Enter start tag [${DEFAULT_OLD_TAG}]: " OLD_TAG @@ -54,6 +55,13 @@ else fi fi +# Check if NEW_TAG is a prerelease (matches -rc or -rc- suffix) +if [[ "${NEW_TAG}" =~ -rc(-[0-9]+)?$ ]]; then + echo "INFO: Tag '${NEW_TAG}' is a prerelease, setting prerelease annotation and skipping changelog." + yq --no-colors --inplace ".annotations.\"artifacthub.io/prerelease\" = \"true\" | sort_keys(.)" "${CHART_FILE}" + exit 0 +fi + CHANGE_LOG_YAML=$(mktemp) echo "[]" > "${CHANGE_LOG_YAML}"