Files
cleanup-release/action.yml
T

38 lines
1.4 KiB
YAML

name: 'Cleanup Old Releases'
description: '自動清理舊版本的 releases,保留指定數量的最新版本'
inputs:
gitea-server:
description: 'Gitea 伺服器 URL'
required: true
repository:
description: '儲存庫名稱 (格式: owner/repo)'
required: true
package-name:
description: 'Container 套件名稱 (選填,若提供則會清理 Container Registry)'
required: false
default: ''
token:
description: 'Gitea API Token'
required: true
keep-count:
description: '保留的最新版本數量'
required: false
default: '2'
dry-run:
description: '是否為模擬執行 (只顯示會刪除的版本,不實際刪除)'
required: false
default: 'false'
runs:
using: 'composite'
steps:
- name: 清理舊版本
id: cleanup
shell: bash
run: chmod +x "${{ github.action_path }}/cleanup-releases.sh" && "${{ github.action_path }}/cleanup-releases.sh" "${{ inputs.gitea-server }}" "${{ inputs.repository }}" "${{ inputs.token }}" "${{ inputs.keep-count }}" "${{ inputs.dry-run }}"
- name: 清理舊映像
id: cleanup-images
if: inputs.package-name != ''
shell: bash
run: chmod +x "${{ github.action_path }}/cleanup-images.sh" && "${{ github.action_path }}/cleanup-images.sh" "${{ inputs.gitea-server }}" "${{ inputs.repository }}" "${{ inputs.package-name }}" "${{ inputs.token }}" "${{ inputs.keep-count }}" "${{ inputs.dry-run }}"