mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-21 21:18:42 +00:00

Previously it only removes 30 caches for the PR because gh actions-cache list defaults to only listing 30 cache entries. In this PR, I changed the limit to the maximum allowed 100 cache entries and I also added a loop to keep getting the next 100 cache entries until there is none. Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
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 }}
|