mirror of
				https://gitea.com/actions/cache.git
				synced 2025-10-31 07:47:07 +00:00 
			
		
		
		
	Add pip examples (#86)
This commit is contained in:
		
							
								
								
									
										67
									
								
								examples.md
									
									
									
									
									
								
							
							
						
						
									
										67
									
								
								examples.md
									
									
									
									
									
								
							| @@ -8,6 +8,7 @@ | |||||||
| - [Node - npm](#node---npm) | - [Node - npm](#node---npm) | ||||||
| - [Node - Yarn](#node---yarn) | - [Node - Yarn](#node---yarn) | ||||||
| - [PHP - Composer](#php---composer) | - [PHP - Composer](#php---composer) | ||||||
|  | - [Python - pip](#python---pip) | ||||||
| - [Ruby - Gem](#ruby---gem) | - [Ruby - Gem](#ruby---gem) | ||||||
| - [Rust - Cargo](#rust---cargo) | - [Rust - Cargo](#rust---cargo) | ||||||
| - [Swift, Objective-C - Carthage](#swift-objective-c---carthage) | - [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- |       ${{ 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 | ## Ruby - Gem | ||||||
|  |  | ||||||
| ```yaml | ```yaml | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Josh Gross
					Josh Gross