name: "Cleanup Cache"

on:
  workflow_dispatch:
  schedule:
    - cron: "0 0 * * *"
    
jobs:
  cleanup:
    runs-on: ubuntu-latest
    steps:
      - name: Check out code
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1  # v7.0.1
        
      - name: Cleanup
        run: |
          gh extension install actions/gh-actions-cache
          
          echo "Fetching list of cache key"
          cacheKeysForPR=$(gh actions-cache list -R $REPO | cut -f 1 )

          ## Setting this to not fail the workflow while deleting cache keys. 
          set +e
          echo "Deleting caches..."
          for cacheKey in $cacheKeysForPR
          do
              gh actions-cache delete $cacheKey -R $REPO --confirm
          done
          echo "Done"
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          REPO: ${{ github.repository }}
