mirror of
				https://github.com/actions/cache.git
				synced 2025-11-03 23:28:36 +08:00 
			
		
		
		
	Fix cache-hit output when cache missed (#1404)
* fix: cache-hit output * fix: Output chache hit timing * fix: Output chache hit timing --------- Co-authored-by: Josh Gross <joshmgross@github.com>
This commit is contained in:
		
							parent
							
								
									e47d9f9ec8
								
							
						
					
					
						commit
						40c3b67b29
					
				| 
						 | 
					@ -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(0);
 | 
					    expect(setCacheHitOutputMock).toHaveBeenCalledTimes(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    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,7 +86,8 @@ test("restore with no cache found", async () => {
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    expect(outputMock).toHaveBeenCalledWith("cache-primary-key", key);
 | 
					    expect(outputMock).toHaveBeenCalledWith("cache-primary-key", key);
 | 
				
			||||||
    expect(outputMock).toHaveBeenCalledTimes(1);
 | 
					    expect(outputMock).toHaveBeenCalledWith("cache-hit", "false");
 | 
				
			||||||
 | 
					    expect(outputMock).toHaveBeenCalledTimes(2);
 | 
				
			||||||
    expect(failedMock).toHaveBeenCalledTimes(0);
 | 
					    expect(failedMock).toHaveBeenCalledTimes(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    expect(infoMock).toHaveBeenCalledWith(
 | 
					    expect(infoMock).toHaveBeenCalledWith(
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								dist/restore-only/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/restore-only/index.js
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -59415,6 +59415,7 @@ 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());
 | 
				
			||||||
                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}`);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -59415,6 +59415,7 @@ 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());
 | 
				
			||||||
                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}`);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,6 +51,7 @@ export async function restoreImpl(
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!cacheKey) {
 | 
					        if (!cacheKey) {
 | 
				
			||||||
 | 
					            core.setOutput(Outputs.CacheHit, false.toString());
 | 
				
			||||||
            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}`
 | 
				
			||||||
| 
						 | 
					@ -62,7 +63,6 @@ export async function restoreImpl(
 | 
				
			||||||
                    ...restoreKeys
 | 
					                    ...restoreKeys
 | 
				
			||||||
                ].join(", ")}`
 | 
					                ].join(", ")}`
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user