mirror of
				https://gitea.com/actions/cache.git
				synced 2025-10-31 07:47:07 +00:00 
			
		
		
		
	Compare commits
	
		
			17 Commits
		
	
	
		
			v3.0.8
			...
			vsvipul-pa
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 0c180092a2 | ||
|   | 2865f2c28c | ||
|   | 27c0af5532 | ||
|   | 6c9470d12d | ||
|   | a59a2347a7 | ||
|   | d785f8b8a2 | ||
|   | 81423d07fe | ||
|   | c1dbd4593f | ||
|   | 5f975d03e6 | ||
|   | 8a9a57869f | ||
|   | fb1d96e3ff | ||
|   | 2048ecfa86 | ||
|   | 8954b07458 | ||
|   | 0ae6818675 | ||
|   | f316f94f31 | ||
|   | 204fa1ab69 | ||
|   | 23d218be27 | 
							
								
								
									
										2
									
								
								.github/auto_assign.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/auto_assign.yml
									
									
									
									
										vendored
									
									
								
							| @@ -6,6 +6,8 @@ addAssignees: false | ||||
|  | ||||
| # A list of reviewers to be added to pull requests (GitHub user name) | ||||
| reviewers: | ||||
|   - pallavx | ||||
|   - pdotl | ||||
|   - phantsure | ||||
|   - kotewar | ||||
|   - aparna-ravindra | ||||
|   | ||||
							
								
								
									
										2
									
								
								.github/workflows/auto-assign-issues.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/auto-assign-issues.yml
									
									
									
									
										vendored
									
									
								
							| @@ -11,5 +11,5 @@ jobs: | ||||
|             - name: 'Auto-assign issue' | ||||
|               uses: pozil/auto-assign-issue@v1.4.0 | ||||
|               with: | ||||
|                   assignees: phantsure,kotewar,tiwarishub,aparna-ravindra,vsvipul,bishal-pdmsft | ||||
|                   assignees: pallavx,pdotl,phantsure,kotewar,tiwarishub,aparna-ravindra,vsvipul,bishal-pdmsft | ||||
|                   numOfAssignee: 1 | ||||
|   | ||||
							
								
								
									
										4
									
								
								.github/workflows/workflow.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/workflow.yml
									
									
									
									
										vendored
									
									
								
							| @@ -5,14 +5,10 @@ on: | ||||
|     branches: | ||||
|       - main | ||||
|       - releases/** | ||||
|     paths-ignore: | ||||
|       - '**.md' | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|       - releases/** | ||||
|     paths-ignore: | ||||
|       - '**.md' | ||||
|  | ||||
| jobs: | ||||
|   # Build and unit test | ||||
|   | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/core" | ||||
| version: 1.7.0 | ||||
| version: 1.9.1 | ||||
| type: npm | ||||
| summary: Actions core lib | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/core | ||||
|   | ||||
							
								
								
									
										4
									
								
								.licenses/npm/@actions/http-client.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								.licenses/npm/@actions/http-client.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,9 +1,9 @@ | ||||
| --- | ||||
| name: "@actions/http-client" | ||||
| version: 1.0.11 | ||||
| version: 2.0.1 | ||||
| type: npm | ||||
| summary: Actions Http Client | ||||
| homepage: https://github.com/actions/http-client#readme | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/http-client | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   | ||||
							
								
								
									
										22
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								README.md
									
									
									
									
									
								
							| @@ -229,6 +229,28 @@ A cache gets downloaded in multiple segments of fixed sizes (`1GB` for a `32-bit | ||||
|  | ||||
| Default value of this timeout is 60 minutes and can be customized by specifying an [environment variable](https://docs.github.com/en/actions/learn-github-actions/environment-variables) named `SEGMENT_DOWNLOAD_TIMEOUT_MINS` with timeout value in minutes. | ||||
|  | ||||
| ## Known practices and workarounds | ||||
| Following are some of the known practices/workarounds which community has used to fulfill specific requirements. You may choose to use them if suits your use case. Note these are not necessarily the only or the recommended solution. | ||||
|  | ||||
| #### Update a cache | ||||
| A cache today is immutable and cannot be updated. But some use cases require the cache to be saved even though there was a "hit" during restore. To do so, use a `key` which is unique for every run and use `restore-keys` to restore the nearest cache. For example: | ||||
|   ``` | ||||
|       - name: update cache on every commit | ||||
|         uses: actions/cache@v3 | ||||
|         with: | ||||
|           path: prime-numbers | ||||
|           key: primes-${{ runner.os }}-${{ github.run_id }} # Can use time based key as well | ||||
|           restore-keys: | | ||||
|             primes-${{ runner.os }} | ||||
|   ```           | ||||
|   Please note that this will create a new cache on every run and hence will consume the cache [quota](#cache-limits). | ||||
|    | ||||
| #### Use cache across feature branches | ||||
| Reusing cache across feature branches is not allowed today to provide cache [isolation](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#restrictions-for-accessing-a-cache). However if both feature branches are from the default branch, a good way to achieve this is to ensure that the default branch has a cache. This cache will then be consumable by both feature branches. | ||||
|  | ||||
| #### Windows environment variables | ||||
| Please note that Windows environment variables (like `%LocalAppData%`) will NOT be expanded by this action. Instead, prefer using `~` in your paths which will expand to HOME directory. For example, instead of `%LocalAppData%`, use `~\AppData\Local`. For a list of supported default environment variables, see [this](https://docs.github.com/en/actions/learn-github-actions/environment-variables) page.  | ||||
|  | ||||
| ## Contributing | ||||
| We would love for you to contribute to `actions/cache`, pull requests are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) for more information. | ||||
|  | ||||
|   | ||||
| @@ -215,6 +215,39 @@ test("getInputAsArray handles empty lines correctly", () => { | ||||
|     expect(actionUtils.getInputAsArray("foo")).toEqual(["bar", "baz"]); | ||||
| }); | ||||
|  | ||||
| test("getInputAsArray sorts files correctly", () => { | ||||
|     testUtils.setInput( | ||||
|         "foo", | ||||
|         "bar\n!baz\nwaldo\nqux\nquux\ncorge\ngrault\ngarply" | ||||
|     ); | ||||
|     expect(actionUtils.getInputAsArray("foo")).toEqual([ | ||||
|         "!baz", | ||||
|         "bar", | ||||
|         "corge", | ||||
|         "garply", | ||||
|         "grault", | ||||
|         "quux", | ||||
|         "qux", | ||||
|         "waldo" | ||||
|     ]); | ||||
| }); | ||||
|  | ||||
| test("getInputAsArray removes spaces after ! at the beginning", () => { | ||||
|     testUtils.setInput( | ||||
|         "foo", | ||||
|         "!   bar\n!  baz\n! qux\n!quux\ncorge\ngrault! garply\n!\r\t waldo" | ||||
|     ); | ||||
|     expect(actionUtils.getInputAsArray("foo")).toEqual([ | ||||
|         "!bar", | ||||
|         "!baz", | ||||
|         "!quux", | ||||
|         "!qux", | ||||
|         "!waldo", | ||||
|         "corge", | ||||
|         "grault! garply" | ||||
|     ]); | ||||
| }); | ||||
|  | ||||
| test("getInputAsInt returns undefined if input not set", () => { | ||||
|     expect(actionUtils.getInputAsInt("undefined")).toBeUndefined(); | ||||
| }); | ||||
|   | ||||
| @@ -147,7 +147,7 @@ test("restore with no key", async () => { | ||||
| test("restore with too many keys should fail", async () => { | ||||
|     const path = "node_modules"; | ||||
|     const key = "node-test"; | ||||
|     const restoreKeys = [...Array(20).keys()].map(x => x.toString()); | ||||
|     const restoreKeys = [...Array(20).keys()].map(x => x.toString()).sort(); | ||||
|     testUtils.setInputs({ | ||||
|         path: path, | ||||
|         key, | ||||
|   | ||||
							
								
								
									
										3782
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3782
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										3782
									
								
								dist/save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3782
									
								
								dist/save/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										67
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										67
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -10,7 +10,7 @@ | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@actions/cache": "^3.0.4", | ||||
|         "@actions/core": "^1.7.0", | ||||
|         "@actions/core": "^1.9.1", | ||||
|         "@actions/exec": "^1.1.1", | ||||
|         "@actions/io": "^1.1.2" | ||||
|       }, | ||||
| @@ -51,20 +51,21 @@ | ||||
|         "uuid": "^3.3.3" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/cache/node_modules/@actions/http-client": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||
|       "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||
|     "node_modules/@actions/core": { | ||||
|       "version": "1.9.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz", | ||||
|       "integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==", | ||||
|       "dependencies": { | ||||
|         "tunnel": "^0.0.6" | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "uuid": "^8.3.2" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/core": { | ||||
|       "version": "1.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.7.0.tgz", | ||||
|       "integrity": "sha512-7fPSS7yKOhTpgLMbw7lBLc1QJWvJBBAgyTX2PEhagWcKK8t0H8AKCoPMfnrHqIm5cRYH4QFPqD1/ruhuUE7YcQ==", | ||||
|       "dependencies": { | ||||
|         "@actions/http-client": "^1.0.11" | ||||
|     "node_modules/@actions/core/node_modules/uuid": { | ||||
|       "version": "8.3.2", | ||||
|       "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", | ||||
|       "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", | ||||
|       "bin": { | ||||
|         "uuid": "dist/bin/uuid" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/exec": { | ||||
| @@ -85,11 +86,11 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/http-client": { | ||||
|       "version": "1.0.11", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", | ||||
|       "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||
|       "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||
|       "dependencies": { | ||||
|         "tunnel": "0.0.6" | ||||
|         "tunnel": "^0.0.6" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/io": { | ||||
| @@ -9546,24 +9547,22 @@ | ||||
|         "@azure/storage-blob": "^12.8.0", | ||||
|         "semver": "^6.1.0", | ||||
|         "uuid": "^3.3.3" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@actions/http-client": { | ||||
|           "version": "2.0.1", | ||||
|           "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||
|           "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||
|           "requires": { | ||||
|             "tunnel": "^0.0.6" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@actions/core": { | ||||
|       "version": "1.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.7.0.tgz", | ||||
|       "integrity": "sha512-7fPSS7yKOhTpgLMbw7lBLc1QJWvJBBAgyTX2PEhagWcKK8t0H8AKCoPMfnrHqIm5cRYH4QFPqD1/ruhuUE7YcQ==", | ||||
|       "version": "1.9.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz", | ||||
|       "integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==", | ||||
|       "requires": { | ||||
|         "@actions/http-client": "^1.0.11" | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "uuid": "^8.3.2" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "uuid": { | ||||
|           "version": "8.3.2", | ||||
|           "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", | ||||
|           "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@actions/exec": { | ||||
| @@ -9584,11 +9583,11 @@ | ||||
|       } | ||||
|     }, | ||||
|     "@actions/http-client": { | ||||
|       "version": "1.0.11", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", | ||||
|       "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||
|       "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||
|       "requires": { | ||||
|         "tunnel": "0.0.6" | ||||
|         "tunnel": "^0.0.6" | ||||
|       } | ||||
|     }, | ||||
|     "@actions/io": { | ||||
|   | ||||
| @@ -24,7 +24,7 @@ | ||||
|   "license": "MIT", | ||||
|   "dependencies": { | ||||
|     "@actions/cache": "^3.0.4", | ||||
|     "@actions/core": "^1.7.0", | ||||
|     "@actions/core": "^1.9.1", | ||||
|     "@actions/exec": "^1.1.1", | ||||
|     "@actions/io": "^1.1.2" | ||||
|   }, | ||||
|   | ||||
| @@ -61,8 +61,9 @@ export function getInputAsArray( | ||||
|     return core | ||||
|         .getInput(name, options) | ||||
|         .split("\n") | ||||
|         .map(s => s.trim()) | ||||
|         .filter(x => x !== ""); | ||||
|         .map(s => s.replace(/^!\s+/, "!").trim()) | ||||
|         .filter(x => x !== "") | ||||
|         .sort(); | ||||
| } | ||||
|  | ||||
| export function getInputAsInt( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user