-
Notifications
You must be signed in to change notification settings - Fork 24
35 lines (33 loc) · 1.28 KB
/
clear-cache.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Based on https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#force-deleting-cache-entries
name: '♻️ Clear GitHub Actions cache'
on:
workflow_dispatch:
pull_request:
types: [ closed ]
env:
GH_TOKEN: ${{ github.token }}
jobs:
clear-cache:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: gh extension install actions/gh-actions-cache
- run: gh actions-cache list
- name: Clear cache entries
if: github.event_name == 'workflow_dispatch'
run: |
set +e
for key in $(gh actions-cache list --sort size --order desc --limit 100 | cut -f 1 )
do
gh actions-cache delete $key --confirm | sed -e 's/\x1b\[[0-9;]*m//g' >> $GITHUB_STEP_SUMMARY
done
- name: Clear cache entries from PR
if: github.event_name == 'pull_request'
run: |
set +e
BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge"
for key in $(gh actions-cache list --sort size --order desc --limit 100 --branch $BRANCH | cut -f 1 )
do
gh actions-cache delete $key --branch $BRANCH --confirm | sed -e 's/\x1b\[[0-9;]*m//g' >> $GITHUB_STEP_SUMMARY
done
- run: gh actions-cache list