name: Cleanup github runner caches on closed pull requests on: workflow_dispatch: inputs: pr_number: description: 'PR number to clean caches for' required: true type: string jobs: cleanup: runs-on: ubuntu-latest permissions: actions: write steps: - name: Cleanup run: | echo "Fetching list of cache keys" cacheKeysForPR=$(gh cache list --ref "$BRANCH" --limit 100 --json id --jq '.[].id') ## Setting this to not fail the workflow while deleting cache keys. set +e echo "Deleting caches..." while IFS= read -r cacheKey; do gh cache delete "$cacheKey" done <<< "$cacheKeysForPR" echo "Done" env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} BRANCH: refs/pull/${{ inputs.pr_number }}/merge