From 8ee94f49c6ba370435f6837f227d46860165b7f0 Mon Sep 17 00:00:00 2001 From: "Tomi P. Hakala" Date: Wed, 15 Jan 2025 22:42:11 +0200 Subject: [PATCH] chore: add GitHub Actions workflow for cache cleanup - Introduced a new workflow to automate the cleanup of GitHub Actions caches on a weekly schedule and via manual trigger. - Implemented steps to fetch and delete cache keys using the GitHub CLI, ensuring efficient cache management. - Configured permissions to allow the workflow to write actions, enhancing the overall maintenance of the repository. These changes improve the management of cached data, helping to optimize workflow performance and resource usage. --- .github/workflows/cleanup-caches.yml | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/cleanup-caches.yml diff --git a/.github/workflows/cleanup-caches.yml b/.github/workflows/cleanup-caches.yml new file mode 100644 index 0000000..c8ed8e7 --- /dev/null +++ b/.github/workflows/cleanup-caches.yml @@ -0,0 +1,35 @@ +name: Cleanup Caches + +on: + workflow_dispatch: # Manual trigger + schedule: + - cron: '0 0 * * 0' # Run weekly at midnight on Sunday + +jobs: + cleanup: + runs-on: ubuntu-latest + steps: + - name: Cleanup + run: | + gh extension install actions/gh-actions-cache + + REPO=${{ github.repository }} + BRANCH=${{ github.ref }} + + echo "Fetching list of cache keys..." + cacheKeys=$(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 $cacheKeys + do + gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm + done + echo "Done" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +permissions: + actions: write \ No newline at end of file