mirror of
				https://github.com/actions/cache.git
				synced 2025-11-04 13:29:10 +08:00 
			
		
		
		
	Restore original behavior of cache-hit output (#1467)
				
					
				
			* Restore original behavior of `cache-hit` output * Bump version to 4.1.1
This commit is contained in:
		@@ -64,9 +64,9 @@ If you are using a `self-hosted` Windows runner, `GNU tar` and `zstd` are requir
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### Outputs
 | 
					### Outputs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* `cache-hit` - A boolean value to indicate an exact match was found for the key.
 | 
					* `cache-hit` - A string value to indicate an exact match was found for the key.
 | 
				
			||||||
 | 
					  * If there's a cache hit, this will be 'true' or 'false' to indicate if there's an exact match for `key`.
 | 
				
			||||||
    > **Note** `cache-hit` will only be set to `true` when a cache hit occurs for the exact `key` match. For a partial key match via `restore-keys` or a cache miss, it will be set to `false`.
 | 
					  * If there's a cache miss, this will be an empty string.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
See [Skipping steps based on cache-hit](#skipping-steps-based-on-cache-hit) for info on using this output
 | 
					See [Skipping steps based on cache-hit](#skipping-steps-based-on-cache-hit) for info on using this output
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,8 @@
 | 
				
			|||||||
# Releases
 | 
					# Releases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 4.1.1
 | 
				
			||||||
 | 
					- Restore original behavior of `cache-hit` output - [#1467](https://github.com/actions/cache/pull/1467)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 4.1.0
 | 
					### 4.1.0
 | 
				
			||||||
- Ensure `cache-hit` output is set when a cache is missed - [#1404](https://github.com/actions/cache/pull/1404)
 | 
					- Ensure `cache-hit` output is set when a cache is missed - [#1404](https://github.com/actions/cache/pull/1404)
 | 
				
			||||||
- Deprecate `save-always` input - [#1452](https://github.com/actions/cache/pull/1452)
 | 
					- Deprecate `save-always` input - [#1452](https://github.com/actions/cache/pull/1452)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -260,7 +260,7 @@ test("Fail restore when fail on cache miss is enabled and primary + restore keys
 | 
				
			|||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    expect(stateMock).toHaveBeenCalledWith("CACHE_KEY", key);
 | 
					    expect(stateMock).toHaveBeenCalledWith("CACHE_KEY", key);
 | 
				
			||||||
    expect(setCacheHitOutputMock).toHaveBeenCalledTimes(1);
 | 
					    expect(setCacheHitOutputMock).toHaveBeenCalledTimes(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    expect(failedMock).toHaveBeenCalledWith(
 | 
					    expect(failedMock).toHaveBeenCalledWith(
 | 
				
			||||||
        `Failed to restore cache entry. Exiting as fail-on-cache-miss is set. Input key: ${key}`
 | 
					        `Failed to restore cache entry. Exiting as fail-on-cache-miss is set. Input key: ${key}`
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,8 +86,7 @@ test("restore with no cache found", async () => {
 | 
				
			|||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    expect(outputMock).toHaveBeenCalledWith("cache-primary-key", key);
 | 
					    expect(outputMock).toHaveBeenCalledWith("cache-primary-key", key);
 | 
				
			||||||
    expect(outputMock).toHaveBeenCalledWith("cache-hit", "false");
 | 
					    expect(outputMock).toHaveBeenCalledTimes(1);
 | 
				
			||||||
    expect(outputMock).toHaveBeenCalledTimes(2);
 | 
					 | 
				
			||||||
    expect(failedMock).toHaveBeenCalledTimes(0);
 | 
					    expect(failedMock).toHaveBeenCalledTimes(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    expect(infoMock).toHaveBeenCalledWith(
 | 
					    expect(infoMock).toHaveBeenCalledWith(
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								dist/restore-only/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								dist/restore-only/index.js
									
									
									
									
										vendored
									
									
								
							@@ -59415,7 +59415,8 @@ function restoreImpl(stateProvider, earlyExit) {
 | 
				
			|||||||
            const lookupOnly = utils.getInputAsBool(constants_1.Inputs.LookupOnly);
 | 
					            const lookupOnly = utils.getInputAsBool(constants_1.Inputs.LookupOnly);
 | 
				
			||||||
            const cacheKey = yield cache.restoreCache(cachePaths, primaryKey, restoreKeys, { lookupOnly: lookupOnly }, enableCrossOsArchive);
 | 
					            const cacheKey = yield cache.restoreCache(cachePaths, primaryKey, restoreKeys, { lookupOnly: lookupOnly }, enableCrossOsArchive);
 | 
				
			||||||
            if (!cacheKey) {
 | 
					            if (!cacheKey) {
 | 
				
			||||||
                core.setOutput(constants_1.Outputs.CacheHit, false.toString());
 | 
					                // `cache-hit` is intentionally not set to `false` here to preserve existing behavior
 | 
				
			||||||
 | 
					                // See https://github.com/actions/cache/issues/1466
 | 
				
			||||||
                if (failOnCacheMiss) {
 | 
					                if (failOnCacheMiss) {
 | 
				
			||||||
                    throw new Error(`Failed to restore cache entry. Exiting as fail-on-cache-miss is set. Input key: ${primaryKey}`);
 | 
					                    throw new Error(`Failed to restore cache entry. Exiting as fail-on-cache-miss is set. Input key: ${primaryKey}`);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							@@ -59415,7 +59415,8 @@ function restoreImpl(stateProvider, earlyExit) {
 | 
				
			|||||||
            const lookupOnly = utils.getInputAsBool(constants_1.Inputs.LookupOnly);
 | 
					            const lookupOnly = utils.getInputAsBool(constants_1.Inputs.LookupOnly);
 | 
				
			||||||
            const cacheKey = yield cache.restoreCache(cachePaths, primaryKey, restoreKeys, { lookupOnly: lookupOnly }, enableCrossOsArchive);
 | 
					            const cacheKey = yield cache.restoreCache(cachePaths, primaryKey, restoreKeys, { lookupOnly: lookupOnly }, enableCrossOsArchive);
 | 
				
			||||||
            if (!cacheKey) {
 | 
					            if (!cacheKey) {
 | 
				
			||||||
                core.setOutput(constants_1.Outputs.CacheHit, false.toString());
 | 
					                // `cache-hit` is intentionally not set to `false` here to preserve existing behavior
 | 
				
			||||||
 | 
					                // See https://github.com/actions/cache/issues/1466
 | 
				
			||||||
                if (failOnCacheMiss) {
 | 
					                if (failOnCacheMiss) {
 | 
				
			||||||
                    throw new Error(`Failed to restore cache entry. Exiting as fail-on-cache-miss is set. Input key: ${primaryKey}`);
 | 
					                    throw new Error(`Failed to restore cache entry. Exiting as fail-on-cache-miss is set. Input key: ${primaryKey}`);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,12 +1,12 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "cache",
 | 
					  "name": "cache",
 | 
				
			||||||
  "version": "4.1.0",
 | 
					  "version": "4.1.1",
 | 
				
			||||||
  "lockfileVersion": 2,
 | 
					  "lockfileVersion": 2,
 | 
				
			||||||
  "requires": true,
 | 
					  "requires": true,
 | 
				
			||||||
  "packages": {
 | 
					  "packages": {
 | 
				
			||||||
    "": {
 | 
					    "": {
 | 
				
			||||||
      "name": "cache",
 | 
					      "name": "cache",
 | 
				
			||||||
      "version": "4.1.0",
 | 
					      "version": "4.1.1",
 | 
				
			||||||
      "license": "MIT",
 | 
					      "license": "MIT",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@actions/cache": "^3.2.3",
 | 
					        "@actions/cache": "^3.2.3",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "cache",
 | 
					  "name": "cache",
 | 
				
			||||||
  "version": "4.1.0",
 | 
					  "version": "4.1.1",
 | 
				
			||||||
  "private": true,
 | 
					  "private": true,
 | 
				
			||||||
  "description": "Cache dependencies and build outputs",
 | 
					  "description": "Cache dependencies and build outputs",
 | 
				
			||||||
  "main": "dist/restore/index.js",
 | 
					  "main": "dist/restore/index.js",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -51,7 +51,9 @@ export async function restoreImpl(
 | 
				
			|||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!cacheKey) {
 | 
					        if (!cacheKey) {
 | 
				
			||||||
            core.setOutput(Outputs.CacheHit, false.toString());
 | 
					            // `cache-hit` is intentionally not set to `false` here to preserve existing behavior
 | 
				
			||||||
 | 
					            // See https://github.com/actions/cache/issues/1466
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (failOnCacheMiss) {
 | 
					            if (failOnCacheMiss) {
 | 
				
			||||||
                throw new Error(
 | 
					                throw new Error(
 | 
				
			||||||
                    `Failed to restore cache entry. Exiting as fail-on-cache-miss is set. Input key: ${primaryKey}`
 | 
					                    `Failed to restore cache entry. Exiting as fail-on-cache-miss is set. Input key: ${primaryKey}`
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user