name: Cleanup caches for closed PRs on: pull_request: types: - closed jobs: cleanup: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Cleanup run: | gh extension install actions/gh-actions-cache REPO="${{ github.repository }}" BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge" while true; do echo "Fetching list of cache key" cacheKeysForPR="$(gh actions-cache list -R "$REPO" -B "$BRANCH" -L 100 | cut -f 1 )" if [ -z "$cacheKeysForPR" ]; then break fi ## Setting this to not fail the workflow while deleting cache keys. set +e echo "Deleting caches..." for cacheKey in $cacheKeysForPR do echo Removing "$cacheKey" gh actions-cache delete "$cacheKey" -R "$REPO" -B "$BRANCH" --confirm done done echo "Done" env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}