43 lines
1.4 KiB
YAML
43 lines
1.4 KiB
YAML
name: Cleanup Old Docker Images
|
|
|
|
on:
|
|
schedule:
|
|
# Run weekly on Sunday at 3 AM UTC
|
|
- cron: '0 3 * * 0'
|
|
workflow_dispatch:
|
|
inputs:
|
|
keep_count:
|
|
description: 'Number of recent images to keep (per tag pattern)'
|
|
required: false
|
|
default: '10'
|
|
|
|
env:
|
|
REGISTRY: ghcr.io
|
|
IMAGE_NAME: valknarxxx/sexy
|
|
|
|
jobs:
|
|
cleanup:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
packages: write
|
|
|
|
steps:
|
|
- name: Delete old container images
|
|
uses: actions/delete-package-versions@v5
|
|
with:
|
|
package-name: 'sexy'
|
|
package-type: 'container'
|
|
min-versions-to-keep: ${{ github.event.inputs.keep_count || 10 }}
|
|
delete-only-untagged-versions: 'true'
|
|
|
|
- name: Generate cleanup summary
|
|
run: |
|
|
echo "### Docker Image Cleanup :broom:" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "**Registry:** \`${{ env.REGISTRY }}\`" >> $GITHUB_STEP_SUMMARY
|
|
echo "**Image:** \`${{ env.IMAGE_NAME }}\`" >> $GITHUB_STEP_SUMMARY
|
|
echo "**Kept versions:** ${{ github.event.inputs.keep_count || 10 }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "**Cleanup Date:** $(date -u '+%Y-%m-%d %H:%M:%S UTC')" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "Old untagged images have been removed to free up storage." >> $GITHUB_STEP_SUMMARY
|