mirror of
				https://github.com/actions/cache.git
				synced 2025-10-31 11:48:38 +08:00 
			
		
		
		
	fix: update force deletion docs due a recent deprecation
This commit is contained in:
		
							parent
							
								
									6849a64899
								
							
						
					
					
						commit
						055a57fea2
					
				|  | @ -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 | ||||
| 
 | ||||
| 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> | ||||
|   <summary>Example</summary> | ||||
| 
 | ||||
|  | @ -49,36 +48,28 @@ on: | |||
|   pull_request: | ||||
|     types: | ||||
|       - closed | ||||
|   workflow_dispatch: | ||||
| 
 | ||||
| jobs: | ||||
|   cleanup: | ||||
|     runs-on: ubuntu-latest | ||||
|     permissions: | ||||
|       # `actions:write` permission is required to delete caches | ||||
|       #   See also: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#delete-a-github-actions-cache-for-a-repository-using-a-cache-id | ||||
|       actions: write | ||||
|       contents: read | ||||
|     steps: | ||||
|       - name: Check out code | ||||
|         uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - name: Cleanup | ||||
|         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" | ||||
|           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. | ||||
|           set +e | ||||
|           echo "Deleting caches..." | ||||
|           for cacheKey in $cacheKeysForPR | ||||
|           do | ||||
|               gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm | ||||
|               gh cache delete $cacheKey | ||||
|           done | ||||
|           echo "Done" | ||||
|         env: | ||||
|           GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|           GH_REPO: ${{ github.repository }} | ||||
|           BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge | ||||
|           done | ||||
|           echo "Done" | ||||
|         env: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Alessandro Sebastiani
						Alessandro Sebastiani