feat(release cleanup): 分開保留正式與 beta 版本數量 #7

Merged
admin merged 1 commits from develop into master 2026-06-29 07:12:16 +00:00
Showing only changes of commit cb943e49a7 - Show all commits
+21 -3
View File
@@ -98,16 +98,34 @@ info "GET $release_api_url"
release_json="$(fetch_all_pages "$release_api_url")"
release_json="$(jq -e 'sort_by(.created_at) | reverse' <<<"$release_json")"
release_count="$(jq 'length' <<<"$release_json")"
normal_release_json="$(jq -c '[.[] | select(((.tag_name // "") | test("-beta\\.")) | not)]' <<<"$release_json")"
beta_release_json="$(jq -c '[.[] | select((.tag_name // "") | test("-beta\\."))]' <<<"$release_json")"
normal_release_count="$(jq 'length' <<<"$normal_release_json")"
beta_release_count="$(jq 'length' <<<"$beta_release_json")"
info "RELEASE_COUNT=$release_count"
info "NORMAL_RELEASE_COUNT=$normal_release_count"
info "BETA_RELEASE_COUNT=$beta_release_count"
info "KEEP_COUNT=$KEEP_COUNT"
if [ "$release_count" -le "$KEEP_COUNT" ]; then
normal_release_to_delete='[]'
if [ "$normal_release_count" -gt "$KEEP_COUNT" ]; then
normal_release_to_delete="$(jq -c ".[$KEEP_COUNT:]" <<<"$normal_release_json")"
fi
beta_release_to_delete='[]'
if [ "$beta_release_count" -gt "$KEEP_COUNT" ]; then
beta_release_to_delete="$(jq -c ".[$KEEP_COUNT:]" <<<"$beta_release_json")"
fi
release_to_delete="$(jq -c -s 'add' <<<"$normal_release_to_delete"$'\n'"$beta_release_to_delete")"
release_to_delete_count="$(jq 'length' <<<"$release_to_delete")"
if [ "$release_to_delete_count" -eq 0 ]; then
success "沒有需要清理的舊版本成品"
else
section "刪除舊版本成品"
release_to_delete="$(jq -c ".[$KEEP_COUNT:]" <<<"$release_json")"
info "DELETE_RELEASE_COUNT=$release_to_delete_count"
while IFS= read -r release_item; do
[ -z "$release_item" ] && continue