diff --git a/.github/workflows/cleanup_caches.yml b/.github/workflows/cleanup_caches.yml new file mode 100644 index 0000000000000..8126e855be5d2 --- /dev/null +++ b/.github/workflows/cleanup_caches.yml @@ -0,0 +1,27 @@ +name: Cleanup caches + +on: + workflow_run: + workflows: [build] + types: [completed] + +jobs: + cache: + runs-on: ubuntu-latest + steps: + - run: | + echo ${{ github.event.workflow_run }} + echo ${{ github.event }} + gh extension install actions/gh-actions-cache + keys=$(gh actions-cache list -L 100 -R ${{ github.repository }} -B $BRANCH --sort last-used --order desc | cut -f 1) + set +e + echo $BRANCH + echo $keys + for key in "${keys[@]:1}" + do + echo $key + gh actions-cache delete $key -R ${{ github.repository }} -B $BRANCH --confirm + done + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: ${{ github.event.workflow_run.head_branch }} diff --git a/.github/workflows/cleanup_caches_pr.yml b/.github/workflows/cleanup_caches_pr.yml new file mode 100644 index 0000000000000..1c630f3530ae3 --- /dev/null +++ b/.github/workflows/cleanup_caches_pr.yml @@ -0,0 +1,22 @@ +name: Cleanup caches PR + +on: + pull_request_target: + types: closed + +jobs: + pr_cache: + runs-on: ubuntu-latest + steps: + - run: | + gh extension install actions/gh-actions-cache + set +e + keys=$(gh actions-cache list -R ${{ github.repository }} -B $BRANCH | cut -f 1) + set +e + for key in $keys + do + gh actions-cache delete $key -R ${{ github.repository }} -B $BRANCH --confirm + done + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge