53 lines
1.6 KiB
YAML
53 lines
1.6 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 }}"
|