mirror of
				https://github.com/actions/cache.git
				synced 2025-11-04 05:19:10 +08:00 
			
		
		
		
	Update force deletion docs due a recent deprecation (#1500)
* fix: update force deletion docs due a recent deprecation * fix: applied josh's suggestions --------- Co-authored-by: Josh Gross <joshmgross@github.com>
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							36f1e144e1
						
					
				
				
					commit
					9fa7e61ec7
				
			@@ -37,9 +37,8 @@ From `v3.2.3` cache is cross-os compatible when `enableCrossOsArchive` input is
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Force deletion of caches overriding default cache eviction policy
 | 
					## Force deletion of caches overriding default cache eviction policy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Caches have [branch scope restriction](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#restrictions-for-accessing-a-cache) in place. This means that if caches for a specific branch are using a lot of storage quota, it may result into more frequently used caches from `default` branch getting thrashed. For example, if there are many pull requests happening on a repo and are creating caches, these cannot be used in default branch scope but will still occupy a lot of space till they get cleaned up by [eviction policy](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy). But sometime we want to clean them up on a faster cadence so as to ensure default branch is not thrashing. In order to achieve this, [gh-actions-cache cli](https://github.com/actions/gh-actions-cache/) can be used to delete caches for specific branches.
 | 
					Caches have [branch scope restriction](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#restrictions-for-accessing-a-cache) in place. This means that if caches for a specific branch are using a lot of storage quota, it may result into more frequently used caches from `default` branch getting thrashed. For example, if there are many pull requests happening on a repo and are creating caches, these cannot be used in default branch scope but will still occupy a lot of space till they get cleaned up by [eviction policy](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy). But sometime we want to clean them up on a faster cadence so as to ensure default branch is not thrashing.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This workflow uses `gh-actions-cache` to delete all the caches created by a branch.
 | 
					 | 
				
			||||||
<details>
 | 
					<details>
 | 
				
			||||||
  <summary>Example</summary>
 | 
					  <summary>Example</summary>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -60,29 +59,23 @@ jobs:
 | 
				
			|||||||
      actions: write
 | 
					      actions: write
 | 
				
			||||||
      contents: read
 | 
					      contents: read
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - name: Check out code
 | 
					 | 
				
			||||||
        uses: actions/checkout@v4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Cleanup
 | 
					      - name: Cleanup
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          gh extension install actions/gh-actions-cache
 | 
					 | 
				
			||||||
          
 | 
					 | 
				
			||||||
          REPO=${{ github.repository }}
 | 
					 | 
				
			||||||
          BRANCH=refs/pull/${{ github.event.pull_request.number }}/merge
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          echo "Fetching list of cache key"
 | 
					          echo "Fetching list of cache key"
 | 
				
			||||||
          cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1 )
 | 
					          cacheKeysForPR=$(gh cache list --ref $BRANCH --limit 100 --json id --jq '.[].id')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          ## Setting this to not fail the workflow while deleting cache keys.
 | 
					          ## Setting this to not fail the workflow while deleting cache keys.
 | 
				
			||||||
          set +e
 | 
					          set +e
 | 
				
			||||||
          echo "Deleting caches..."
 | 
					          echo "Deleting caches..."
 | 
				
			||||||
          for cacheKey in $cacheKeysForPR
 | 
					          for cacheKey in $cacheKeysForPR
 | 
				
			||||||
          do
 | 
					          do
 | 
				
			||||||
              gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
 | 
					              gh cache delete $cacheKey
 | 
				
			||||||
          done
 | 
					          done
 | 
				
			||||||
          echo "Done"
 | 
					          echo "Done"
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
					          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					          GH_REPO: ${{ github.repository }}
 | 
				
			||||||
 | 
					          BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</details>
 | 
					</details>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user