diff --git a/lib/init-action.js b/lib/init-action.js index aaa4836d7..5dad5fc06 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -86824,6 +86824,7 @@ async function initActionState({ trapCaches, trapCacheDownloadTime, dependencyCachingEnabled: getCachingKind(dependencyCachingEnabled), + dependencyCachingRestoredKeys: [], extraQueryExclusions: [], overlayDatabaseMode: "none" /* None */, useOverlayDatabaseCaching: false, @@ -90151,6 +90152,7 @@ exec ${goBinaryPath} "$@"` logger ); dependencyCachingStatus = dependencyCachingResult.statusReport; + config.dependencyCachingRestoredKeys = dependencyCachingResult.restoredKeys; } if (await codeQlVersionAtLeast(codeql, "2.17.1")) { } else { diff --git a/src/config-utils.test.ts b/src/config-utils.test.ts index da58dd8b1..906336d26 100644 --- a/src/config-utils.test.ts +++ b/src/config-utils.test.ts @@ -200,12 +200,9 @@ test("load code quality config", async (t) => { ); // And the config we expect it to result in - const expectedConfig: configUtils.Config = { - version: actionsUtil.getActionVersion(), + const expectedConfig = createTestConfig({ analysisKinds: [AnalysisKind.CodeQuality], languages: [KnownLanguage.actions], - buildMode: undefined, - originalUserInput: {}, // This gets set because we only have `AnalysisKind.CodeQuality` computedConfig: { "disable-default-queries": true, @@ -219,14 +216,7 @@ test("load code quality config", async (t) => { debugMode: false, debugArtifactName: "", debugDatabaseName: "", - trapCaches: {}, - trapCacheDownloadTime: 0, - dependencyCachingEnabled: CachingKind.None, - extraQueryExclusions: [], - overlayDatabaseMode: OverlayDatabaseMode.None, - useOverlayDatabaseCaching: false, - repositoryProperties: {}, - }; + }); t.deepEqual(config, expectedConfig); }); @@ -507,9 +497,7 @@ test("load non-empty input", async (t) => { }; // And the config we expect it to parse to - const expectedConfig: configUtils.Config = { - version: actionsUtil.getActionVersion(), - analysisKinds: [AnalysisKind.CodeScanning], + const expectedConfig = createTestConfig({ languages: [KnownLanguage.javascript], buildMode: BuildMode.None, originalUserInput: userConfig, @@ -521,14 +509,7 @@ test("load non-empty input", async (t) => { debugMode: false, debugArtifactName: "my-artifact", debugDatabaseName: "my-db", - trapCaches: {}, - trapCacheDownloadTime: 0, - dependencyCachingEnabled: CachingKind.None, - extraQueryExclusions: [], - overlayDatabaseMode: OverlayDatabaseMode.None, - useOverlayDatabaseCaching: false, - repositoryProperties: {}, - }; + }); const languagesInput = "javascript"; const configFilePath = createConfigFile(inputFileContents, tempDir); diff --git a/src/config-utils.ts b/src/config-utils.ts index fa88d4b4a..03608fb1a 100644 --- a/src/config-utils.ts +++ b/src/config-utils.ts @@ -148,6 +148,9 @@ export interface Config { /** A value indicating how dependency caching should be used. */ dependencyCachingEnabled: CachingKind; + /** The keys of caches that we restored, if any. */ + dependencyCachingRestoredKeys: string[]; + /** * Extra query exclusions to append to the config. */ @@ -496,6 +499,7 @@ export async function initActionState( trapCaches, trapCacheDownloadTime, dependencyCachingEnabled: getCachingKind(dependencyCachingEnabled), + dependencyCachingRestoredKeys: [], extraQueryExclusions: [], overlayDatabaseMode: OverlayDatabaseMode.None, useOverlayDatabaseCaching: false, diff --git a/src/init-action.ts b/src/init-action.ts index 9f1c33e68..689ded2fc 100644 --- a/src/init-action.ts +++ b/src/init-action.ts @@ -586,6 +586,8 @@ async function run() { logger, ); dependencyCachingStatus = dependencyCachingResult.statusReport; + config.dependencyCachingRestoredKeys = + dependencyCachingResult.restoredKeys; } // Suppress warnings about disabled Python library extraction. diff --git a/src/testing-utils.ts b/src/testing-utils.ts index 12193309b..eaec11e2c 100644 --- a/src/testing-utils.ts +++ b/src/testing-utils.ts @@ -392,6 +392,7 @@ export function createTestConfig(overrides: Partial): Config { trapCaches: {}, trapCacheDownloadTime: 0, dependencyCachingEnabled: CachingKind.None, + dependencyCachingRestoredKeys: [], extraQueryExclusions: [], overlayDatabaseMode: OverlayDatabaseMode.None, useOverlayDatabaseCaching: false,