Merge pull request 'feat(release cleanup): 分開保留正式與 beta 版本數量' (#7) from develop into master
CD / Release Tag Version (push) Successful in 4s
CD / Release Tag Version (push) Successful in 4s
Reviewed-on: docker-actions/release-cleanup#7 Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
This commit was merged in pull request #7.
This commit is contained in:
+21
-3
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user