ci: add a temporary workflow that lists the arch tags to remove

- scripts/tmp-remove-arch-tags.sh lists the arch tags such as 4.1.2-amd64 whose image a multi-platform tag still reaches, and removes as many as --remove asks for
- A registry deletes a tag only with its image, so --remove moves each arch tag to a placeholder manifest and deletes the placeholder, the image stays, as the multi-platform manifest points at it by digest
This commit is contained in:
peaklabs-dev
2026-11-02 00:18:33 +01:00
parent fbe5e831f4
commit 612df5a684
3 changed files with 267 additions and 1 deletions
@@ -0,0 +1,48 @@
name: TMP Remove arch tags
on:
workflow_dispatch:
permissions: {}
cache-mode: none
concurrency:
group: clean-manifests
cancel-in-progress: false
defaults:
run:
shell: bash
jobs:
remove:
name: Remove arch tags
if: ${{ github.repository == 'coollabsio/coolify' }}
permissions:
contents: read
environment:
name: cleanup
deployment: false
runs-on: ubuntu-26.04 # https://github.com/actions/runner-images
timeout-minutes: 60
steps:
- name: Check out the repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: List the arch tags to remove
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_CLEANUP_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_CLEANUP_TOKEN }}
run: scripts/tmp-remove-arch-tags.sh
- name: Upload the list of arch tags to remove
if: ${{ always() }}
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: arch-tags-to-remove
path: scripts/arch-tags-to-remove.tsv
if-no-files-found: ignore
retention-days: 90