diff --git a/.github/workflows/cleanup_caches.yml b/.github/workflows/cleanup_caches.yml new file mode 100644 index 0000000000000..92739f22c9bc6 --- /dev/null +++ b/.github/workflows/cleanup_caches.yml @@ -0,0 +1,46 @@ +name: Cleanup caches + +on: + workflow_run: + workflows: [build] + types: [completed] + +jobs: + cache: + runs-on: ubuntu-latest + steps: + - run: | + gh extension install actions/gh-actions-cache + # gh actions-cache list -L 100 -R ${{ github.repository }} --sort last-used --order desc + # 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 + + pr=$(gh pr view 1 --repo ${{ github.repository }} --json state --jq .state) + echo $pr + # cachess=$(gh cache list) + # echo "$cachess" + # caches=$(gh actions-cache list -L 100 --json key,ref --sort last_accessed_at --order desc) + # echo "$caches" + # echo "$caches" | jq -r ' + # group_by(.ref) | + # map({ + # ref: .[0].ref, + # caches: (.[1:] | map("- \(.key)")) + # }) | + # .[] | + # if (.caches | length) > 0 then + # "Caches for ref \(.ref) except the latest one:\n\(.caches | join("\n"))" + # else + # "No caches found for ref \(.ref) or only one cache exists." + # end + # ' + 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