From da01ef13dd1a2ba8c3901981a5b9caf2afacb7c9 Mon Sep 17 00:00:00 2001 From: Alexey Pechnikov Date: Sat, 8 Feb 2025 23:47:18 +0700 Subject: [PATCH] Add script for weekly DockerHub cache cleanup --- .github/workflows/dockerhub-cache-cleanup.yml | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/dockerhub-cache-cleanup.yml diff --git a/.github/workflows/dockerhub-cache-cleanup.yml b/.github/workflows/dockerhub-cache-cleanup.yml new file mode 100644 index 0000000..eece8e2 --- /dev/null +++ b/.github/workflows/dockerhub-cache-cleanup.yml @@ -0,0 +1,23 @@ +name: Cleanup Docker Hub Cache + +on: + schedule: + - cron: '0 0 * * 0' + +jobs: + delete-cache: + runs-on: ubuntu-latest + steps: + - name: Get Docker Hub JWT Token + run: | + TOKEN=$(curl -s -X POST "https://hub.docker.com/v2/users/login/" \ + -H "Content-Type: application/json" \ + -d '{"username": "'"${{ secrets.DOCKER_USERNAME }}"'", "password": "'"${{ secrets.DOCKER_PASSWORD }}"'"}' | jq -r .token) + echo "TOKEN=$TOKEN" >> $GITHUB_ENV + + - name: Delete cache tags from Docker Hub + run: | + curl -X DELETE -H "Authorization: JWT $TOKEN" \ + "https://hub.docker.com/v2/repositories/pechnikov/pygmtsar/tags/cache-arm64/" + curl -X DELETE -H "Authorization: JWT $TOKEN" \ + "https://hub.docker.com/v2/repositories/pechnikov/pygmtsar/tags/cache-amd64/"