Browse Source
GitHub caches are immutable, so #5883 was wrong (caches were never updated). Goes back to the previous caching strategy but with a cleanup workflow to delete caches for merged/closed PRs. The cleanup code comes from the example in GitHub docs: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#force-deleting-cache-entriespull/5899/head
8 changed files with 73 additions and 30 deletions
@ -0,0 +1,33 @@
|
||||
name: Delete cache for a closed Pull Request |
||||
on: |
||||
pull_request: |
||||
types: |
||||
- closed |
||||
|
||||
jobs: |
||||
cleanup: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- name: Check out code |
||||
uses: actions/checkout@v3 |
||||
|
||||
# https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#force-deleting-cache-entries |
||||
- name: Cleanup |
||||
run: | |
||||
gh extension install actions/gh-actions-cache |
||||
|
||||
REPO=${{ github.repository }} |
||||
BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge" |
||||
|
||||
echo "Fetching list of cache key" |
||||
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1 ) |
||||
|
||||
## Setting this to not fail the workflow while deleting cache keys. |
||||
set +e |
||||
echo "Deleting caches..." |
||||
for cacheKey in $cacheKeysForPR; do |
||||
gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm |
||||
done |
||||
echo "Done" |
||||
env: |
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
Loading…
Reference in new issue