From cb943e49a7eb760bd8fe0c85d023fd6219729e47 Mon Sep 17 00:00:00 2001 From: Jeffery Date: Fri, 26 Jun 2026 16:45:03 +0000 Subject: [PATCH] =?UTF-8?q?feat(release=20cleanup):=20=E5=88=86=E9=96=8B?= =?UTF-8?q?=E4=BF=9D=E7=95=99=E6=AD=A3=E5=BC=8F=E8=88=87=20beta=20?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=95=B8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entrypoint.sh | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index dfefcad..51d3db1 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -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 -- 2.53.0