clear_repo.yml 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. name: Delete All Releases and Tags
  2. on:
  3. workflow_dispatch:
  4. jobs:
  5. delete-releases-and-tags:
  6. runs-on: ubuntu-latest
  7. env:
  8. GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  9. steps:
  10. - name: Checkout repository
  11. uses: actions/checkout@v4
  12. - name: Install GitHub CLI
  13. run: |
  14. sudo apt update
  15. sudo apt install gh -y
  16. - name: Delete all releases via GitHub API
  17. run: |
  18. echo "Fetching all releases..."
  19. releases=$(gh release list --json tagName --jq '.[].tagName')
  20. for release in $releases; do
  21. echo "Deleting release: $release"
  22. gh release delete $release --yes
  23. done
  24. - name: Delete all local and remote tags
  25. run: |
  26. echo "Fetching all tags..."
  27. git fetch --tags
  28. echo "Deleting all local tags..."
  29. git tag -d $(git tag -l)
  30. echo "Deleting all remote tags..."
  31. for tag in $(git ls-remote --tags origin | awk '{print $2}' | sed 's#refs/tags/##'); do
  32. git push --delete origin $tag
  33. done