From edcdea78a289bdc467ea22002cb59821d502a76b Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Thu, 16 Oct 2025 14:30:43 +0200 Subject: [PATCH] Changes auto-committed by Conductor --- .github/workflows/cleanup-ghcr-untagged.yml | 34 +++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/cleanup-ghcr-untagged.yml diff --git a/.github/workflows/cleanup-ghcr-untagged.yml b/.github/workflows/cleanup-ghcr-untagged.yml new file mode 100644 index 000000000..2e45a1619 --- /dev/null +++ b/.github/workflows/cleanup-ghcr-untagged.yml @@ -0,0 +1,34 @@ +name: Cleanup Untagged GHCR Images + +on: + workflow_dispatch: # Allow manual trigger + schedule: + - cron: '0 */6 * * *' # Run every 6 hours to handle large volume (16k+ images) + +env: + GITHUB_REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify" + +jobs: + cleanup: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + # Run 5 batches in parallel (5 x 100 = 500 versions per run) + batch: [1, 2, 3, 4, 5] + steps: + - name: Delete untagged images (batch ${{ matrix.batch }}) + uses: actions/delete-package-versions@v5 + with: + package-name: 'coolify' + package-type: 'container' + min-versions-to-keep: 0 + delete-only-untagged-versions: 'true' + continue-on-error: true # Continue even if some batches fail + + - name: Wait between batches + if: matrix.batch < 5 + run: sleep 10