cache_cleanup.yml 758 B

1234567891011121314151617181920212223242526272829
  1. name: Cleanup GitHub runner caches on closed PRs
  2. on:
  3. pull_request:
  4. types:
  5. - closed
  6. jobs:
  7. cleanup:
  8. runs-on: ubuntu-latest
  9. permissions:
  10. actions: write
  11. steps:
  12. - name: Delete caches for closed PR
  13. env:
  14. GH_TOKEN: ${{ github.token }}
  15. GH_REPO: ${{ github.repository }}
  16. PR_NUMBER: ${{ github.event.pull_request.number }}
  17. run: |
  18. # List caches whose key contains "-PR-<number>-"
  19. ids=$(gh cache list --limit 2000 --json id,key --jq ".[] | select(.key | test(\"-PR-${PR_NUMBER}-\")) | .id")
  20. # Delete them (best effort)
  21. set +e
  22. for id in $ids; do
  23. gh cache delete "$id"
  24. done
  25. set -e
  26. echo "Done."