mirror of
				https://github.com/actions/cache.git
				synced 2025-10-31 18:34:19 +08:00 
			
		
		
		
	Merge pull request #329 from actions/aiyan/v2-release-doc
Update readme and examples to use v2
This commit is contained in:
		
						commit
						b8204782bb
					
				
							
								
								
									
										36
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								README.md
									
									
									
									
									
								
							| @ -8,6 +8,28 @@ This action allows caching dependencies and build outputs to improve workflow ex | |||||||
| 
 | 
 | ||||||
| See ["Caching dependencies to speed up workflows"](https://help.github.com/github/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows). | See ["Caching dependencies to speed up workflows"](https://help.github.com/github/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows). | ||||||
| 
 | 
 | ||||||
|  | ## What's New | ||||||
|  | 
 | ||||||
|  | * Added support for multiple paths, [glob patterns](https://github.com/actions/toolkit/tree/master/packages/glob), and single file caches.  | ||||||
|  | 
 | ||||||
|  | ```yaml | ||||||
|  | - name: Cache multiple paths | ||||||
|  |   uses: actions/cache@v2 | ||||||
|  |   with: | ||||||
|  |     path: | | ||||||
|  |       ~/cache | ||||||
|  |       !~/cache/exclude | ||||||
|  |       **/node_modules | ||||||
|  |     key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | * Increased performance and improved cache sizes using `zstd` compression for Linux and macOS runners | ||||||
|  | * Allowed caching for all events with a ref. See [events that trigger workflow](https://help.github.com/en/actions/reference/events-that-trigger-workflows) for info on which events do not have a `GITHUB_REF` | ||||||
|  | * Released the [`@actions/cache`](https://github.com/actions/toolkit/tree/master/packages/cache) npm package to allow other actions to utilize caching | ||||||
|  | * Added a best-effort cleanup step to delete the archive after extraction to reduce storage space | ||||||
|  | 
 | ||||||
|  | Refer [here](https://github.com/actions/cache/blob/v1/README.md) for previous versions | ||||||
|  | 
 | ||||||
| ## Usage | ## Usage | ||||||
| 
 | 
 | ||||||
| ### Pre-requisites | ### Pre-requisites | ||||||
| @ -15,7 +37,7 @@ Create a workflow `.yml` file in your repositories `.github/workflows` directory | |||||||
| 
 | 
 | ||||||
| ### Inputs | ### Inputs | ||||||
| 
 | 
 | ||||||
| * `path` - A directory to store and save the cache | * `path` - A list of files, directories, and wildcard patterns to cache and restore. See [`@actions/glob`](https://github.com/actions/toolkit/tree/master/packages/glob) for supported patterns.  | ||||||
| * `key` - An explicit key for restoring and saving the cache | * `key` - An explicit key for restoring and saving the cache | ||||||
| * `restore-keys` - An ordered list of keys to use for restoring the cache if no cache hit occurred for key | * `restore-keys` - An ordered list of keys to use for restoring the cache if no cache hit occurred for key | ||||||
| 
 | 
 | ||||||
| @ -46,7 +68,7 @@ jobs: | |||||||
| 
 | 
 | ||||||
|     - name: Cache Primes |     - name: Cache Primes | ||||||
|       id: cache-primes |       id: cache-primes | ||||||
|       uses: actions/cache@v1 |       uses: actions/cache@v2 | ||||||
|       with: |       with: | ||||||
|         path: prime-numbers |         path: prime-numbers | ||||||
|         key: ${{ runner.os }}-primes |         key: ${{ runner.os }}-primes | ||||||
| @ -93,9 +115,11 @@ A cache key can include any of the contexts, functions, literals, and operators | |||||||
| For example, using the [`hashFiles`](https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#hashfiles) function allows you to create a new cache when dependencies change. | For example, using the [`hashFiles`](https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#hashfiles) function allows you to create a new cache when dependencies change. | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
|   - uses: actions/cache@v1 |   - uses: actions/cache@v2 | ||||||
|     with: |     with: | ||||||
|       path: path/to/dependencies |       path: |  | ||||||
|  |         path/to/dependencies | ||||||
|  |         some/other/dependencies  | ||||||
|       key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} |       key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| @ -109,7 +133,7 @@ Additionally, you can use arbitrary command output in a cache key, such as a dat | |||||||
|       echo "::set-output name=date::$(/bin/date -u "+%Y%m%d")" |       echo "::set-output name=date::$(/bin/date -u "+%Y%m%d")" | ||||||
|     shell: bash |     shell: bash | ||||||
| 
 | 
 | ||||||
|   - uses: actions/cache@v1 |   - uses: actions/cache@v2 | ||||||
|     with: |     with: | ||||||
|       path: path/to/dependencies |       path: path/to/dependencies | ||||||
|       key: ${{ runner.os }}-${{ steps.get-date.outputs.date }}-${{ hashFiles('**/lockfiles') }} |       key: ${{ runner.os }}-${{ steps.get-date.outputs.date }}-${{ hashFiles('**/lockfiles') }} | ||||||
| @ -130,7 +154,7 @@ Example: | |||||||
| steps: | steps: | ||||||
|   - uses: actions/checkout@v2 |   - uses: actions/checkout@v2 | ||||||
| 
 | 
 | ||||||
|   - uses: actions/cache@v1 |   - uses: actions/cache@v2 | ||||||
|     id: cache |     id: cache | ||||||
|     with: |     with: | ||||||
|       path: path/to/dependencies |       path: path/to/dependencies | ||||||
|  | |||||||
| @ -3,7 +3,7 @@ description: 'Cache artifacts like dependencies and build outputs to improve wor | |||||||
| author: 'GitHub' | author: 'GitHub' | ||||||
| inputs: | inputs: | ||||||
|   path: |   path: | ||||||
|     description: 'A directory to store and save the cache' |     description: 'A list of files, directories, and wildcard patterns to cache and restore' | ||||||
|     required: true |     required: true | ||||||
|   key: |   key: | ||||||
|     description: 'An explicit key for restoring and saving the cache' |     description: 'An explicit key for restoring and saving the cache' | ||||||
|  | |||||||
							
								
								
									
										125
									
								
								examples.md
									
									
									
									
									
								
							
							
						
						
									
										125
									
								
								examples.md
									
									
									
									
									
								
							| @ -35,7 +35,7 @@ | |||||||
| Using [NuGet lock files](https://docs.microsoft.com/nuget/consume-packages/package-references-in-project-files#locking-dependencies): | Using [NuGet lock files](https://docs.microsoft.com/nuget/consume-packages/package-references-in-project-files#locking-dependencies): | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ~/.nuget/packages |     path: ~/.nuget/packages | ||||||
|     key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} |     key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} | ||||||
| @ -44,13 +44,25 @@ Using [NuGet lock files](https://docs.microsoft.com/nuget/consume-packages/packa | |||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| Depending on the environment, huge packages might be pre-installed in the global cache folder. | Depending on the environment, huge packages might be pre-installed in the global cache folder. | ||||||
| If you do not want to include them, consider to move the cache folder like below. | With `actions/cache@v2` you can now exclude unwanted packages with [exclude pattern](https://github.com/actions/toolkit/tree/master/packages/glob#exclude-patterns) | ||||||
|  | ```yaml | ||||||
|  | - uses: actions/cache@v2 | ||||||
|  |   with: | ||||||
|  |     path: |  | ||||||
|  |       ~/.nuget/packages | ||||||
|  |       !~/.nuget/packages/unwanted | ||||||
|  |     key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} | ||||||
|  |     restore-keys: | | ||||||
|  |       ${{ runner.os }}-nuget- | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Or you could move the cache folder like below. | ||||||
| >Note: This workflow does not work for projects that require files to be placed in user profile package folder | >Note: This workflow does not work for projects that require files to be placed in user profile package folder | ||||||
| ```yaml | ```yaml | ||||||
| env: | env: | ||||||
|   NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages |   NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages | ||||||
| steps: | steps: | ||||||
|   - uses: actions/cache@v1 |   - uses: actions/cache@v2 | ||||||
|     with: |     with: | ||||||
|       path: ${{ github.workspace }}/.nuget/packages |       path: ${{ github.workspace }}/.nuget/packages | ||||||
|       key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} |       key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} | ||||||
| @ -63,7 +75,7 @@ steps: | |||||||
| ### POSIX | ### POSIX | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ~/.dub |     path: ~/.dub | ||||||
|     key: ${{ runner.os }}-dub-${{ hashFiles('**/dub.json') }} |     key: ${{ runner.os }}-dub-${{ hashFiles('**/dub.json') }} | ||||||
| @ -74,7 +86,7 @@ steps: | |||||||
| ### Windows | ### Windows | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ~\AppData\Local\dub |     path: ~\AppData\Local\dub | ||||||
|     key: ${{ runner.os }}-dub-${{ hashFiles('**/dub.json') }} |     key: ${{ runner.os }}-dub-${{ hashFiles('**/dub.json') }} | ||||||
| @ -84,7 +96,7 @@ steps: | |||||||
| 
 | 
 | ||||||
| ## Elixir - Mix | ## Elixir - Mix | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: deps |     path: deps | ||||||
|     key: ${{ runner.os }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }} |     key: ${{ runner.os }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }} | ||||||
| @ -95,7 +107,7 @@ steps: | |||||||
| ## Go - Modules | ## Go - Modules | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ~/go/pkg/mod |     path: ~/go/pkg/mod | ||||||
|     key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} |     key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | ||||||
| @ -108,27 +120,20 @@ steps: | |||||||
| We cache the elements of the Cabal store separately, as the entirety of `~/.cabal` can grow very large for projects with many dependencies. | We cache the elements of the Cabal store separately, as the entirety of `~/.cabal` can grow very large for projects with many dependencies. | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   name: Cache ~/.cabal/packages |   name: Cache ~/.cabal/packages, ~/.cabal/store and dist-newstyle | ||||||
|   with: |   with: | ||||||
|     path: ~/.cabal/packages |     path: | | ||||||
|     key: ${{ runner.os }}-${{ matrix.ghc }}-cabal-packages |       ~/.cabal/packages | ||||||
| - uses: actions/cache@v1 |       ~/.cabal/store | ||||||
|   name: Cache ~/.cabal/store |       dist-newstyle | ||||||
|   with: |     key: ${{ runner.os }}-${{ matrix.ghc }} | ||||||
|     path: ~/.cabal/store |  | ||||||
|     key: ${{ runner.os }}-${{ matrix.ghc }}-cabal-store |  | ||||||
| - uses: actions/cache@v1 |  | ||||||
|   name: Cache dist-newstyle |  | ||||||
|   with: |  | ||||||
|     path: dist-newstyle |  | ||||||
|     key: ${{ runner.os }}-${{ matrix.ghc }}-dist-newstyle |  | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## Java - Gradle | ## Java - Gradle | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ~/.gradle/caches |     path: ~/.gradle/caches | ||||||
|     key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} |     key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} | ||||||
| @ -139,7 +144,7 @@ We cache the elements of the Cabal store separately, as the entirety of `~/.caba | |||||||
| ## Java - Maven | ## Java - Maven | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ~/.m2/repository |     path: ~/.m2/repository | ||||||
|     key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} |     key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | ||||||
| @ -156,7 +161,7 @@ For npm, cache files are stored in `~/.npm` on Posix, or `%AppData%/npm-cache` o | |||||||
| ### macOS and Ubuntu | ### macOS and Ubuntu | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ~/.npm |     path: ~/.npm | ||||||
|     key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} |     key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||||||
| @ -171,7 +176,7 @@ For npm, cache files are stored in `~/.npm` on Posix, or `%AppData%/npm-cache` o | |||||||
|   id: npm-cache |   id: npm-cache | ||||||
|   run: | |   run: | | ||||||
|     echo "::set-output name=dir::$(npm config get cache)" |     echo "::set-output name=dir::$(npm config get cache)" | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ${{ steps.npm-cache.outputs.dir }} |     path: ${{ steps.npm-cache.outputs.dir }} | ||||||
|     key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} |     key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||||||
| @ -186,7 +191,7 @@ For npm, cache files are stored in `~/.npm` on Posix, or `%AppData%/npm-cache` o | |||||||
|   id: npm-cache |   id: npm-cache | ||||||
|   run: | |   run: | | ||||||
|     echo "::set-output name=dir::$(npm config get cache)" |     echo "::set-output name=dir::$(npm config get cache)" | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ${{ steps.npm-cache.outputs.dir }} |     path: ${{ steps.npm-cache.outputs.dir }} | ||||||
|     key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} |     key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||||||
| @ -196,10 +201,9 @@ For npm, cache files are stored in `~/.npm` on Posix, or `%AppData%/npm-cache` o | |||||||
| 
 | 
 | ||||||
| ## Node - Lerna | ## Node - Lerna | ||||||
| 
 | 
 | ||||||
| >Note this example uses the new multi-paths feature and is only available at `master` |  | ||||||
| ```yaml | ```yaml | ||||||
| - name: restore lerna | - name: restore lerna | ||||||
|   uses: actions/cache@master |   uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: | |     path: | | ||||||
|       node_modules |       node_modules | ||||||
| @ -215,7 +219,7 @@ The yarn cache directory will depend on your operating system and version of `ya | |||||||
|   id: yarn-cache-dir-path |   id: yarn-cache-dir-path | ||||||
|   run: echo "::set-output name=dir::$(yarn cache dir)" |   run: echo "::set-output name=dir::$(yarn cache dir)" | ||||||
| 
 | 
 | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) |   id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) | ||||||
|   with: |   with: | ||||||
|     path: ${{ steps.yarn-cache-dir-path.outputs.dir }} |     path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | ||||||
| @ -229,7 +233,7 @@ Esy allows you to export built dependencies and import pre-built dependencies. | |||||||
| ```yaml | ```yaml | ||||||
|     - name: Restore Cache |     - name: Restore Cache | ||||||
|       id: restore-cache |       id: restore-cache | ||||||
|       uses: actions/cache@v1 |       uses: actions/cache@v2 | ||||||
|       with: |       with: | ||||||
|         path: _export |         path: _export | ||||||
|         key:  ${{ runner.os }}-esy-${{ hashFiles('esy.lock/index.json') }} |         key:  ${{ runner.os }}-esy-${{ hashFiles('esy.lock/index.json') }} | ||||||
| @ -259,7 +263,7 @@ Esy allows you to export built dependencies and import pre-built dependencies. | |||||||
|   id: composer-cache |   id: composer-cache | ||||||
|   run: | |   run: | | ||||||
|     echo "::set-output name=dir::$(composer config cache-files-dir)" |     echo "::set-output name=dir::$(composer config cache-files-dir)" | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ${{ steps.composer-cache.outputs.dir }} |     path: ${{ steps.composer-cache.outputs.dir }} | ||||||
|     key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} |     key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | ||||||
| @ -278,7 +282,7 @@ Locations: | |||||||
| 
 | 
 | ||||||
| ### Simple example | ### Simple example | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ~/.cache/pip |     path: ~/.cache/pip | ||||||
|     key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} |     key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | ||||||
| @ -291,7 +295,7 @@ Replace `~/.cache/pip` with the correct `path` if not using Ubuntu. | |||||||
| ### Multiple OS's in a workflow | ### Multiple OS's in a workflow | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   if: startsWith(runner.os, 'Linux') |   if: startsWith(runner.os, 'Linux') | ||||||
|   with: |   with: | ||||||
|     path: ~/.cache/pip |     path: ~/.cache/pip | ||||||
| @ -299,7 +303,7 @@ Replace `~/.cache/pip` with the correct `path` if not using Ubuntu. | |||||||
|     restore-keys: | |     restore-keys: | | ||||||
|       ${{ runner.os }}-pip- |       ${{ runner.os }}-pip- | ||||||
| 
 | 
 | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   if: startsWith(runner.os, 'macOS') |   if: startsWith(runner.os, 'macOS') | ||||||
|   with: |   with: | ||||||
|     path: ~/Library/Caches/pip |     path: ~/Library/Caches/pip | ||||||
| @ -307,7 +311,7 @@ Replace `~/.cache/pip` with the correct `path` if not using Ubuntu. | |||||||
|     restore-keys: | |     restore-keys: | | ||||||
|       ${{ runner.os }}-pip- |       ${{ runner.os }}-pip- | ||||||
| 
 | 
 | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   if: startsWith(runner.os, 'Windows') |   if: startsWith(runner.os, 'Windows') | ||||||
|   with: |   with: | ||||||
|     path: ~\AppData\Local\pip\Cache |     path: ~\AppData\Local\pip\Cache | ||||||
| @ -326,7 +330,7 @@ Replace `~/.cache/pip` with the correct `path` if not using Ubuntu. | |||||||
|     echo "::set-output name=dir::$(pip cache dir)" |     echo "::set-output name=dir::$(pip cache dir)" | ||||||
| 
 | 
 | ||||||
| - name: pip cache | - name: pip cache | ||||||
|   uses: actions/cache@v1 |   uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ${{ steps.pip-cache.outputs.dir }} |     path: ${{ steps.pip-cache.outputs.dir }} | ||||||
|     key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} |     key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | ||||||
| @ -343,7 +347,7 @@ Replace `~/.cache/pip` with the correct `path` if not using Ubuntu. | |||||||
|  run: | |  run: | | ||||||
|    python -c "from pip._internal.locations import USER_CACHE_DIR; print('::set-output name=dir::' + USER_CACHE_DIR)" |    python -c "from pip._internal.locations import USER_CACHE_DIR; print('::set-output name=dir::' + USER_CACHE_DIR)" | ||||||
| 
 | 
 | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ${{ steps.pip-cache.outputs.dir }} |     path: ${{ steps.pip-cache.outputs.dir }} | ||||||
|     key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} |     key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | ||||||
| @ -362,7 +366,7 @@ Locations: | |||||||
| 
 | 
 | ||||||
| ### Simple example | ### Simple example | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ~/.local/share/renv |     path: ~/.local/share/renv | ||||||
|     key: ${{ runner.os }}-renv-${{ hashFiles('**/renv.lock') }} |     key: ${{ runner.os }}-renv-${{ hashFiles('**/renv.lock') }} | ||||||
| @ -375,7 +379,7 @@ Replace `~/.local/share/renv` with the correct `path` if not using Ubuntu. | |||||||
| ### Multiple OS's in a workflow | ### Multiple OS's in a workflow | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   if: startsWith(runner.os, 'Linux') |   if: startsWith(runner.os, 'Linux') | ||||||
|   with: |   with: | ||||||
|     path: ~/.local/share/renv |     path: ~/.local/share/renv | ||||||
| @ -383,7 +387,7 @@ Replace `~/.local/share/renv` with the correct `path` if not using Ubuntu. | |||||||
|     restore-keys: | |     restore-keys: | | ||||||
|       ${{ runner.os }}-renv- |       ${{ runner.os }}-renv- | ||||||
| 
 | 
 | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   if: startsWith(runner.os, 'macOS') |   if: startsWith(runner.os, 'macOS') | ||||||
|   with: |   with: | ||||||
|     path: ~/Library/Application Support/renv |     path: ~/Library/Application Support/renv | ||||||
| @ -391,7 +395,7 @@ Replace `~/.local/share/renv` with the correct `path` if not using Ubuntu. | |||||||
|     restore-keys: | |     restore-keys: | | ||||||
|       ${{ runner.os }}-renv- |       ${{ runner.os }}-renv- | ||||||
| 
 | 
 | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   if: startsWith(runner.os, 'Windows') |   if: startsWith(runner.os, 'Windows') | ||||||
|   with: |   with: | ||||||
|     path: ~\AppData\Local\renv |     path: ~\AppData\Local\renv | ||||||
| @ -403,7 +407,7 @@ Replace `~/.local/share/renv` with the correct `path` if not using Ubuntu. | |||||||
| ## Ruby - Bundler | ## Ruby - Bundler | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: vendor/bundle |     path: vendor/bundle | ||||||
|     key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} |     key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} | ||||||
| @ -422,42 +426,31 @@ When dependencies are installed later in the workflow, we must specify the same | |||||||
| ## Rust - Cargo | ## Rust - Cargo | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - name: Cache cargo registry | - uses: actions/cache@v2 | ||||||
|   uses: actions/cache@v1 |  | ||||||
|   with: |   with: | ||||||
|     path: ~/.cargo/registry |     path: | | ||||||
|     key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} |       ~/.cargo/registry | ||||||
| - name: Cache cargo index |       ~/.cargo/git | ||||||
|   uses: actions/cache@v1 |       target | ||||||
|   with: |     key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | ||||||
|     path: ~/.cargo/git |  | ||||||
|     key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }} |  | ||||||
| - name: Cache cargo build |  | ||||||
|   uses: actions/cache@v1 |  | ||||||
|   with: |  | ||||||
|     path: target |  | ||||||
|     key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }} |  | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## Scala - SBT | ## Scala - SBT | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - name: Cache SBT ivy cache |  | ||||||
|   uses: actions/cache@v1 |  | ||||||
|   with: |  | ||||||
|     path: ~/.ivy2/cache |  | ||||||
|     key: ${{ runner.os }}-sbt-ivy-cache-${{ hashFiles('**/build.sbt') }} |  | ||||||
| - name: Cache SBT | - name: Cache SBT | ||||||
|   uses: actions/cache@v1 |   uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: ~/.sbt |     path: |  | ||||||
|  |       ~/.ivy2/cache | ||||||
|  |       ~/.sbt | ||||||
|     key: ${{ runner.os }}-sbt-${{ hashFiles('**/build.sbt') }} |     key: ${{ runner.os }}-sbt-${{ hashFiles('**/build.sbt') }} | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## Swift, Objective-C - Carthage | ## Swift, Objective-C - Carthage | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: Carthage |     path: Carthage | ||||||
|     key: ${{ runner.os }}-carthage-${{ hashFiles('**/Cartfile.resolved') }} |     key: ${{ runner.os }}-carthage-${{ hashFiles('**/Cartfile.resolved') }} | ||||||
| @ -468,7 +461,7 @@ When dependencies are installed later in the workflow, we must specify the same | |||||||
| ## Swift, Objective-C - CocoaPods | ## Swift, Objective-C - CocoaPods | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: Pods |     path: Pods | ||||||
|     key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} |     key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} | ||||||
| @ -479,7 +472,7 @@ When dependencies are installed later in the workflow, we must specify the same | |||||||
| ## Swift - Swift Package Manager | ## Swift - Swift Package Manager | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
| - uses: actions/cache@v1 | - uses: actions/cache@v2 | ||||||
|   with: |   with: | ||||||
|     path: .build |     path: .build | ||||||
|     key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} |     key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Aiqiao Yan
						Aiqiao Yan