Skip to content

Clean GHCR build cache #107

Clean GHCR build cache

Clean GHCR build cache #107

Workflow file for this run

# SPDX-FileCopyrightText: 2025 Alexandre Gomes Gaigalas <alganet@gmail.com>
# SPDX-License-Identifier: ISC
name: Clean GHCR build cache
permissions:
packages: write
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
cleanup-untagged:
runs-on: ubuntu-24.04
steps:
- uses: actions/delete-package-versions@v5
with:
package-name: shell-versions
package-type: container
min-versions-to-keep: 1
delete-only-untagged-versions: true
cleanup-ephemeral-images:
runs-on: ubuntu-24.04
steps:
- name: Delete ephemeral GHCR versions older than 7 days
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh api --paginate \
"/users/${{ github.repository_owner }}/packages/container/shell-versions/versions" \
--jq '
.[]
| select(.metadata.container.tags | length > 0)
| select(.metadata.container.tags | all(startswith("run-") or startswith("test-")))
| select((now - (.updated_at | fromdateiso8601)) > (7 * 86400))
| .id
' | while read -r version_id; do
echo "Deleting version $version_id"
gh api --method DELETE \
"/users/${{ github.repository_owner }}/packages/container/shell-versions/versions/$version_id" || true
done