diff --git a/.github/workflows/clear-stale-docker-images.yml b/.github/workflows/clear-stale-docker-images.yml index 5a2dc40b..793b11e6 100644 --- a/.github/workflows/clear-stale-docker-images.yml +++ b/.github/workflows/clear-stale-docker-images.yml @@ -10,43 +10,19 @@ jobs: name: Delete Untagged Images runs-on: ubuntu-latest permissions: - packages: write + packages: write steps: - - name: Fetch multi-platform package version SHAs - id: multi-arch-digests - run: | - package1=$(docker manifest inspect ghcr.io/sysadminsmedia/homebox | jq -r '.manifests.[] | .digest' | paste -s -d ' ' -) - echo "multi-arch-digests=$package1" >> $GITHUB_OUTPUT - - uses: snok/container-retention-policy@v3.0.0 + - uses: dataaxiom/ghcr-cleanup-action@v1 with: - skip-shas: ${{ steps.multi-arch-digests.outputs.multi-arch-digests }} - # The type of account. Can be either 'org' or 'personal'. - account: sysadminsmedia - # Image name to delete. Supports passing several names as a comma-separated list. - image-names: homebox - # The cut-off for which to delete images older than. For example '2 days ago UTC'. Timezone is required. - cut-off: 90d - # Personal access token with read and delete scopes. - token: ${{ secrets.CLEANUP_PAT }} - # Restrict deletions to images without specific tags. Supports Unix-shell style wildcards - skip-tags: "!latest,!latest-rootless,!0.*,!0.*-rootless,!main,!main-rootless,!vnext,!vnext-rootless,!0,!0-rootless" # optional - # Do not actually delete images. Print output showing what would have been deleted. - dry-run: true # optional, default is false - - delete-old-images-devcache: - name: Delete Cache Old Images - runs-on: ubuntu-latest - permissions: - packages: write - steps: - - uses: snok/container-retention-policy@v3.0.0 - with: - # The type of account. Can be either 'org' or 'personal'. - account: sysadminsmedia - image-names: devcache - # The cut-off for which to delete images older than. For example '2 days ago UTC'. Timezone is required. - cut-off: 90d - # Personal access token with read and delete scopes. - token: ${{ secrets.CLEANUP_PAT }} - # Do not actually delete images. Print output showing what would have been deleted. - dry-run: true # optional, default is false + dry-run: true + delete-ghost-images: true + delete-partial-images: true + delete-orphaned-images: true + validate: true + token: '${{ github.token }}' + owner: 'sysadminsmedia' + repository: 'homebox' + package: 'homebox,devcache' + use-regex: true + exclude-tags: '*.*.*','0.*','0','latest','main' + older-than: 180 days