| name: Cleanup github runner caches on closed pull requests |
| on: |
| pull_request: |
| types: |
| - closed |
| |
| jobs: |
| cleanup: |
| runs-on: ubuntu-latest |
| permissions: |
| actions: write |
| steps: |
| - name: Cleanup |
| run: | |
| echo "Fetching list of cache keys" |
| readarray -t cacheKeysForPR < <(gh cache list --ref "${BRANCH}" --json id --jq '.[].id') |
| |
| ## Setting this to not fail the workflow while deleting cache keys. |
| set +e |
| echo "Deleting caches..." |
| for cacheKey in "${cacheKeysForPR[@]}" |
| do |
| gh cache delete "${cacheKey}" |
| done |
| echo "Done" |
| env: |
| GH_TOKEN: ${{ github.token }} |
| GH_REPO: ${{ github.repository }} |
| BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge |
| |