Create a GH workflow to cleanup the GH cache

The GitHub actions cache is helpful to speed up CI jobs. Once a branch
is closed, we don't need the cacche anymore so we should delete it so
the disk space can be reclaimed.

This workflow was copied from https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#force-deleting-cache-entries.
This commit is contained in:
Steven Nguyen
2023-08-30 16:56:27 -07:00
parent 6a8b83104c
commit 8a0bf3ad46
+42
View File
@@ -0,0 +1,42 @@
name: Cleanup Cache
# for testing
on: [pull_request]
# on:
# pull_request:
# types:
# - closed
jobs:
cleanup:
runs-on: ubuntu-latest
steps:
- name: Check out code
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
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
for cacheKey in $cacheKeysForPR
do
gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
done
done
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}