mirror of
				https://github.com/actions/cache.git
				synced 2025-10-31 10:24:19 +08:00 
			
		
		
		
	Add pip examples (#86)
This commit is contained in:
		
							parent
							
								
									b7d83b4095
								
							
						
					
					
						commit
						7e7aef2963
					
				
							
								
								
									
										67
									
								
								examples.md
									
									
									
									
									
								
							
							
						
						
									
										67
									
								
								examples.md
									
									
									
									
									
								
							| @ -8,6 +8,7 @@ | ||||
| - [Node - npm](#node---npm) | ||||
| - [Node - Yarn](#node---yarn) | ||||
| - [PHP - Composer](#php---composer) | ||||
| - [Python - pip](#python---pip) | ||||
| - [Ruby - Gem](#ruby---gem) | ||||
| - [Rust - Cargo](#rust---cargo) | ||||
| - [Swift, Objective-C - Carthage](#swift-objective-c---carthage) | ||||
| @ -142,6 +143,72 @@ The yarn cache directory will depend on your operating system and version of `ya | ||||
|       ${{ runner.os }}-composer- | ||||
| ``` | ||||
| 
 | ||||
| ## Python - pip | ||||
| 
 | ||||
| For pip, the cache directory will vary by OS. See https://pip.pypa.io/en/stable/reference/pip_install/#caching | ||||
| 
 | ||||
| Locations: | ||||
|  - Ubuntu: `~/.cache/pip` | ||||
|  - Windows: `~\AppData\Local\pip\Cache` | ||||
|  - macOS: `~/Library/Caches/pip` | ||||
| 
 | ||||
| ### Simple example | ||||
| ```yaml | ||||
| - uses: actions/cache@v1 | ||||
|   with: | ||||
|     path: ~/.cache/pip | ||||
|     key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | ||||
|     restore-keys: | | ||||
|       ${{ runner.os }}-pip- | ||||
| ``` | ||||
| 
 | ||||
| Replace `~/.cache/pip` with the correct `path` if not using Ubuntu. | ||||
| 
 | ||||
| ### Multiple OS's in a workflow | ||||
| 
 | ||||
| ```yaml | ||||
| - uses: actions/cache@v1 | ||||
|   if: startsWith(runner.os, 'Linux') | ||||
|   with: | ||||
|     path: ~/.cache/pip | ||||
|     key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | ||||
|     restore-keys: | | ||||
|       ${{ runner.os }}-pip- | ||||
| 
 | ||||
| - uses: actions/cache@v1 | ||||
|   if: startsWith(runner.os, 'macOS') | ||||
|   with: | ||||
|     path: ~/Library/Caches/pip | ||||
|     key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | ||||
|     restore-keys: | | ||||
|       ${{ runner.os }}-pip- | ||||
| 
 | ||||
| - uses: actions/cache@v1 | ||||
|   if: startsWith(runner.os, 'Windows') | ||||
|   with: | ||||
|     path: ~\AppData\Local\pip\Cache | ||||
|     key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | ||||
|     restore-keys: | | ||||
|       ${{ runner.os }}-pip- | ||||
| ``` | ||||
| 
 | ||||
| ### Using a script to get cache location | ||||
| 
 | ||||
| > Note: This uses an internal pip API and may not always work | ||||
| ```yaml | ||||
| - name: Get pip cache | ||||
|    id: pip-cache | ||||
|    run: | | ||||
|      python -c "from pip._internal.locations import USER_CACHE_DIR; print('::set-output name=dir::' + USER_CACHE_DIR)" | ||||
| 
 | ||||
| - uses: actions/cache@v1 | ||||
|   with: | ||||
|     path: ${{ steps.pip-cache.outputs.dir }} | ||||
|     key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | ||||
|     restore-keys: | | ||||
|       ${{ runner.os }}-pip- | ||||
| ``` | ||||
| 
 | ||||
| ## Ruby - Gem | ||||
| 
 | ||||
| ```yaml | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Josh Gross
						Josh Gross