Store restored keys in action state

This commit is contained in:
Michael B. Gale
2025-11-14 11:49:24 +00:00
parent 11889c27fd
commit 594c0cc369
5 changed files with 13 additions and 23 deletions

2
lib/init-action.js generated
View File

@@ -86824,6 +86824,7 @@ async function initActionState({
trapCaches, trapCaches,
trapCacheDownloadTime, trapCacheDownloadTime,
dependencyCachingEnabled: getCachingKind(dependencyCachingEnabled), dependencyCachingEnabled: getCachingKind(dependencyCachingEnabled),
dependencyCachingRestoredKeys: [],
extraQueryExclusions: [], extraQueryExclusions: [],
overlayDatabaseMode: "none" /* None */, overlayDatabaseMode: "none" /* None */,
useOverlayDatabaseCaching: false, useOverlayDatabaseCaching: false,
@@ -90151,6 +90152,7 @@ exec ${goBinaryPath} "$@"`
logger logger
); );
dependencyCachingStatus = dependencyCachingResult.statusReport; dependencyCachingStatus = dependencyCachingResult.statusReport;
config.dependencyCachingRestoredKeys = dependencyCachingResult.restoredKeys;
} }
if (await codeQlVersionAtLeast(codeql, "2.17.1")) { if (await codeQlVersionAtLeast(codeql, "2.17.1")) {
} else { } else {

View File

@@ -200,12 +200,9 @@ test("load code quality config", async (t) => {
); );
// And the config we expect it to result in // And the config we expect it to result in
const expectedConfig: configUtils.Config = { const expectedConfig = createTestConfig({
version: actionsUtil.getActionVersion(),
analysisKinds: [AnalysisKind.CodeQuality], analysisKinds: [AnalysisKind.CodeQuality],
languages: [KnownLanguage.actions], languages: [KnownLanguage.actions],
buildMode: undefined,
originalUserInput: {},
// This gets set because we only have `AnalysisKind.CodeQuality` // This gets set because we only have `AnalysisKind.CodeQuality`
computedConfig: { computedConfig: {
"disable-default-queries": true, "disable-default-queries": true,
@@ -219,14 +216,7 @@ test("load code quality config", async (t) => {
debugMode: false, debugMode: false,
debugArtifactName: "", debugArtifactName: "",
debugDatabaseName: "", debugDatabaseName: "",
trapCaches: {}, });
trapCacheDownloadTime: 0,
dependencyCachingEnabled: CachingKind.None,
extraQueryExclusions: [],
overlayDatabaseMode: OverlayDatabaseMode.None,
useOverlayDatabaseCaching: false,
repositoryProperties: {},
};
t.deepEqual(config, expectedConfig); t.deepEqual(config, expectedConfig);
}); });
@@ -507,9 +497,7 @@ test("load non-empty input", async (t) => {
}; };
// And the config we expect it to parse to // And the config we expect it to parse to
const expectedConfig: configUtils.Config = { const expectedConfig = createTestConfig({
version: actionsUtil.getActionVersion(),
analysisKinds: [AnalysisKind.CodeScanning],
languages: [KnownLanguage.javascript], languages: [KnownLanguage.javascript],
buildMode: BuildMode.None, buildMode: BuildMode.None,
originalUserInput: userConfig, originalUserInput: userConfig,
@@ -521,14 +509,7 @@ test("load non-empty input", async (t) => {
debugMode: false, debugMode: false,
debugArtifactName: "my-artifact", debugArtifactName: "my-artifact",
debugDatabaseName: "my-db", debugDatabaseName: "my-db",
trapCaches: {}, });
trapCacheDownloadTime: 0,
dependencyCachingEnabled: CachingKind.None,
extraQueryExclusions: [],
overlayDatabaseMode: OverlayDatabaseMode.None,
useOverlayDatabaseCaching: false,
repositoryProperties: {},
};
const languagesInput = "javascript"; const languagesInput = "javascript";
const configFilePath = createConfigFile(inputFileContents, tempDir); const configFilePath = createConfigFile(inputFileContents, tempDir);

View File

@@ -148,6 +148,9 @@ export interface Config {
/** A value indicating how dependency caching should be used. */ /** A value indicating how dependency caching should be used. */
dependencyCachingEnabled: CachingKind; dependencyCachingEnabled: CachingKind;
/** The keys of caches that we restored, if any. */
dependencyCachingRestoredKeys: string[];
/** /**
* Extra query exclusions to append to the config. * Extra query exclusions to append to the config.
*/ */
@@ -496,6 +499,7 @@ export async function initActionState(
trapCaches, trapCaches,
trapCacheDownloadTime, trapCacheDownloadTime,
dependencyCachingEnabled: getCachingKind(dependencyCachingEnabled), dependencyCachingEnabled: getCachingKind(dependencyCachingEnabled),
dependencyCachingRestoredKeys: [],
extraQueryExclusions: [], extraQueryExclusions: [],
overlayDatabaseMode: OverlayDatabaseMode.None, overlayDatabaseMode: OverlayDatabaseMode.None,
useOverlayDatabaseCaching: false, useOverlayDatabaseCaching: false,

View File

@@ -586,6 +586,8 @@ async function run() {
logger, logger,
); );
dependencyCachingStatus = dependencyCachingResult.statusReport; dependencyCachingStatus = dependencyCachingResult.statusReport;
config.dependencyCachingRestoredKeys =
dependencyCachingResult.restoredKeys;
} }
// Suppress warnings about disabled Python library extraction. // Suppress warnings about disabled Python library extraction.

View File

@@ -392,6 +392,7 @@ export function createTestConfig(overrides: Partial<Config>): Config {
trapCaches: {}, trapCaches: {},
trapCacheDownloadTime: 0, trapCacheDownloadTime: 0,
dependencyCachingEnabled: CachingKind.None, dependencyCachingEnabled: CachingKind.None,
dependencyCachingRestoredKeys: [],
extraQueryExclusions: [], extraQueryExclusions: [],
overlayDatabaseMode: OverlayDatabaseMode.None, overlayDatabaseMode: OverlayDatabaseMode.None,
useOverlayDatabaseCaching: false, useOverlayDatabaseCaching: false,