diff --git a/.github/workflows/clear_cache.yml b/.github/workflows/clear_cache.yml new file mode 100644 index 000000000000..a2105aae361b --- /dev/null +++ b/.github/workflows/clear_cache.yml @@ -0,0 +1,29 @@ +name: Clear cache + +on: + workflow_dispatch: + +permissions: + actions: write + +jobs: + clear-cache: + runs-on: ubuntu-latest + steps: + - name: Clear cache + uses: actions/github-script@v6 + with: + script: | + const caches = await github.rest.actions.getActionsCacheList({ + owner: context.repo.owner, + repo: context.repo.repo, + }); + console.log(`clearing ${caches.total_count} cache entries`); + for (const cache of caches.data.actions_caches) { + console.log(`clearing ${cache.key}`); + github.rest.actions.deleteActionsCacheById({ + owner: context.repo.owner, + repo: context.repo.repo, + cache_id: cache.id, + }).then(() => console.log(`cleared ${cache.key}`)); + }