From ac9b91e74508dad8331f461592a2ca51c70e293d Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Tue, 2 Sep 2025 12:45:17 +0100 Subject: [PATCH] Move overlay db settings from `AugmentationProperties` to `Config` --- lib/analyze-action-post.js | 11 +------ lib/analyze-action.js | 23 +++++--------- lib/autobuild-action.js | 11 +------ lib/init-action-post.js | 11 +------ lib/init-action.js | 43 +++++++++++-------------- lib/resolve-environment-action.js | 11 +------ lib/start-proxy-action-post.js | 9 ------ lib/upload-lib.js | 11 +------ lib/upload-sarif-action-post.js | 9 ------ lib/upload-sarif-action.js | 11 +------ src/analyze.ts | 16 +++------- src/codeql.ts | 3 +- src/config-utils.test.ts | 2 ++ src/config-utils.ts | 50 +++++++++++++++--------------- src/init-action.ts | 19 ++++-------- src/overlay-database-utils.test.ts | 6 ++-- src/overlay-database-utils.ts | 8 ++--- src/testing-utils.ts | 8 ++--- 18 files changed, 79 insertions(+), 183 deletions(-) diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index 70418568c..1f53d4775 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -118012,7 +118012,7 @@ async function getCodeQLForCmd(cmd, checkVersion) { await this.getVersion(), "forceOverwrite" /* ForceOverwrite */ ) ? "--force-overwrite" : "--overwrite"; - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode === "overlay" /* Overlay */) { const overlayChangesFile = await writeOverlayChangesFile( config, @@ -118495,15 +118495,6 @@ var core10 = __toESM(require_core()); var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts -var defaultAugmentationProperties = { - queriesInputCombines: false, - packsInputCombines: false, - packsInput: void 0, - queriesInput: void 0, - extraQueryExclusions: [], - overlayDatabaseMode: "none" /* None */, - useOverlayDatabaseCaching: false -}; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/lib/analyze-action.js b/lib/analyze-action.js index ead5a6e9a..6b04b1d3e 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -90839,14 +90839,14 @@ function checkOverlayBaseDatabase(config, logger, warningPrefix) { return true; } async function uploadOverlayBaseDatabaseToCache(codeql, config, logger) { - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode !== "overlay-base" /* OverlayBase */) { logger.debug( `Overlay database mode is ${overlayDatabaseMode}. Skip uploading overlay-base database to cache.` ); return false; } - if (!config.augmentationProperties.useOverlayDatabaseCaching) { + if (!config.useOverlayDatabaseCaching) { logger.debug( "Overlay database caching is disabled. Skip uploading overlay-base database to cache." ); @@ -92354,7 +92354,7 @@ async function getCodeQLForCmd(cmd, checkVersion) { await this.getVersion(), "forceOverwrite" /* ForceOverwrite */ ) ? "--force-overwrite" : "--overwrite"; - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode === "overlay" /* Overlay */) { const overlayChangesFile = await writeOverlayChangesFile( config, @@ -93048,15 +93048,6 @@ async function cachePrefix(codeql, language) { } // src/config-utils.ts -var defaultAugmentationProperties = { - queriesInputCombines: false, - packsInputCombines: false, - packsInput: void 0, - queriesInput: void 0, - extraQueryExclusions: [], - overlayDatabaseMode: "none" /* None */, - useOverlayDatabaseCaching: false -}; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, @@ -93548,7 +93539,7 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, const statusReport = {}; const queryFlags = [memoryFlag, threadsFlag]; const incrementalMode = []; - if (config.augmentationProperties.overlayDatabaseMode !== "overlay-base" /* OverlayBase */) { + if (config.overlayDatabaseMode !== "overlay-base" /* OverlayBase */) { queryFlags.push("--expect-discarded-cache"); } statusReport.analysis_is_diff_informed = diffRangePackDir !== void 0; @@ -93557,9 +93548,9 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, queryFlags.push("--extension-packs=codeql-action/pr-diff-range"); incrementalMode.push("diff-informed"); } - statusReport.analysis_is_overlay = config.augmentationProperties.overlayDatabaseMode === "overlay" /* Overlay */; - statusReport.analysis_builds_overlay_base_database = config.augmentationProperties.overlayDatabaseMode === "overlay-base" /* OverlayBase */; - if (config.augmentationProperties.overlayDatabaseMode === "overlay" /* Overlay */) { + statusReport.analysis_is_overlay = config.overlayDatabaseMode === "overlay" /* Overlay */; + statusReport.analysis_builds_overlay_base_database = config.overlayDatabaseMode === "overlay-base" /* OverlayBase */; + if (config.overlayDatabaseMode === "overlay" /* Overlay */) { incrementalMode.push("overlay"); } const sarifRunPropertyFlag = incrementalMode.length > 0 ? `--sarif-run-property=incrementalMode=${incrementalMode.join(",")}` : void 0; diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js index 04f82f84f..a1f0c90f0 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -79047,7 +79047,7 @@ async function getCodeQLForCmd(cmd, checkVersion) { await this.getVersion(), "forceOverwrite" /* ForceOverwrite */ ) ? "--force-overwrite" : "--overwrite"; - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode === "overlay" /* Overlay */) { const overlayChangesFile = await writeOverlayChangesFile( config, @@ -79615,15 +79615,6 @@ var core11 = __toESM(require_core()); var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts -var defaultAugmentationProperties = { - queriesInputCombines: false, - packsInputCombines: false, - packsInput: void 0, - queriesInput: void 0, - extraQueryExclusions: [], - overlayDatabaseMode: "none" /* None */, - useOverlayDatabaseCaching: false -}; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/lib/init-action-post.js b/lib/init-action-post.js index 22cd2bec5..a360f4d0c 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -130444,7 +130444,7 @@ async function getCodeQLForCmd(cmd, checkVersion) { await this.getVersion(), "forceOverwrite" /* ForceOverwrite */ ) ? "--force-overwrite" : "--overwrite"; - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode === "overlay" /* Overlay */) { const overlayChangesFile = await writeOverlayChangesFile( config, @@ -130947,15 +130947,6 @@ ${jsonContents}` var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts -var defaultAugmentationProperties = { - queriesInputCombines: false, - packsInputCombines: false, - packsInput: void 0, - queriesInput: void 0, - extraQueryExclusions: [], - overlayDatabaseMode: "none" /* None */, - useOverlayDatabaseCaching: false -}; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/lib/init-action.js b/lib/init-action.js index 42f001de7..a73a8a6aa 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -86458,14 +86458,14 @@ function checkOverlayBaseDatabase(config, logger, warningPrefix) { return true; } async function downloadOverlayBaseDatabaseFromCache(codeql, config, logger) { - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode !== "overlay" /* Overlay */) { logger.debug( `Overlay database mode is ${overlayDatabaseMode}. Skip downloading overlay-base database from cache.` ); return void 0; } - if (!config.augmentationProperties.useOverlayDatabaseCaching) { + if (!config.useOverlayDatabaseCaching) { logger.debug( "Overlay database caching is disabled. Skip downloading overlay-base database from cache." ); @@ -87116,15 +87116,6 @@ async function cachePrefix(codeql, language) { // src/config-utils.ts var PACKS_PROPERTY = "packs"; -var defaultAugmentationProperties = { - queriesInputCombines: false, - packsInputCombines: false, - packsInput: void 0, - queriesInput: void 0, - extraQueryExclusions: [], - overlayDatabaseMode: "none" /* None */, - useOverlayDatabaseCaching: false -}; function getPacksStrInvalid(packStr, configFile) { return configFile ? getConfigFilePropertyError( configFile, @@ -87312,7 +87303,9 @@ async function getDefaultConfig({ augmentationProperties, trapCaches, trapCacheDownloadTime, - dependencyCachingEnabled: getCachingKind(dependencyCachingEnabled) + dependencyCachingEnabled: getCachingKind(dependencyCachingEnabled), + overlayDatabaseMode: "none" /* None */, + useOverlayDatabaseCaching: false }; } async function downloadCacheWithTime(trapCachingEnabled, codeQL, languages, logger) { @@ -87357,9 +87350,7 @@ async function calculateAugmentation(rawPacksInput, rawQueriesInput, languages) packsInput: packsInput?.[languages[0]], queriesInput, queriesInputCombines, - extraQueryExclusions: [], - overlayDatabaseMode: "none" /* None */, - useOverlayDatabaseCaching: false + extraQueryExclusions: [] }; } function parseQueriesFromInput(rawQueriesInput, queriesInputCombines) { @@ -87611,7 +87602,6 @@ async function initConfig(inputs) { ); } const config = await getDefaultConfig(inputs); - const augmentationProperties = config.augmentationProperties; config.originalUserInput = userConfig; config.computedConfig = generateCodeScanningConfig( userConfig, @@ -87630,14 +87620,17 @@ async function initConfig(inputs) { logger.info( `Using overlay database mode: ${overlayDatabaseMode} ${useOverlayDatabaseCaching ? "with" : "without"} caching.` ); - augmentationProperties.overlayDatabaseMode = overlayDatabaseMode; - augmentationProperties.useOverlayDatabaseCaching = useOverlayDatabaseCaching; + config.overlayDatabaseMode = overlayDatabaseMode; + config.useOverlayDatabaseCaching = useOverlayDatabaseCaching; if (overlayDatabaseMode === "overlay" /* Overlay */ || await shouldPerformDiffInformedAnalysis( inputs.codeql, inputs.features, logger )) { - augmentationProperties.extraQueryExclusions.push({ + if (config.computedConfig["query-filters"] === void 0) { + config.computedConfig["query-filters"] = []; + } + config.computedConfig["query-filters"].push({ exclude: { tags: "exclude-from-incremental" } }); } @@ -89197,7 +89190,7 @@ async function getCodeQLForCmd(cmd, checkVersion) { await this.getVersion(), "forceOverwrite" /* ForceOverwrite */ ) ? "--force-overwrite" : "--overwrite"; - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode === "overlay" /* Overlay */) { const overlayChangesFile = await writeOverlayChangesFile( config, @@ -90392,20 +90385,20 @@ async function run() { } let overlayBaseDatabaseStats; try { - if (config.augmentationProperties.overlayDatabaseMode === "overlay" /* Overlay */ && config.augmentationProperties.useOverlayDatabaseCaching) { + if (config.overlayDatabaseMode === "overlay" /* Overlay */ && config.useOverlayDatabaseCaching) { overlayBaseDatabaseStats = await downloadOverlayBaseDatabaseFromCache( codeql, config, logger ); if (!overlayBaseDatabaseStats) { - config.augmentationProperties.overlayDatabaseMode = "none" /* None */; + config.overlayDatabaseMode = "none" /* None */; logger.info( `No overlay-base database found in cache, reverting overlay database mode to ${"none" /* None */}.` ); } } - if (config.augmentationProperties.overlayDatabaseMode !== "overlay" /* Overlay */) { + if (config.overlayDatabaseMode !== "overlay" /* Overlay */) { cleanupDatabaseClusterDirectory(config, logger); } if (zstdAvailability) { @@ -90582,11 +90575,11 @@ exec ${goBinaryPath} "$@"` qlconfigFile, logger ); - if (config.augmentationProperties.overlayDatabaseMode !== "none" /* None */ && !await checkPacksForOverlayCompatibility(codeql, config, logger)) { + if (config.overlayDatabaseMode !== "none" /* None */ && !await checkPacksForOverlayCompatibility(codeql, config, logger)) { logger.info( "Reverting overlay database mode to None due to incompatible packs." ); - config.augmentationProperties.overlayDatabaseMode = "none" /* None */; + config.overlayDatabaseMode = "none" /* None */; cleanupDatabaseClusterDirectory(config, logger, { disableExistingDirectoryWarning: true }); diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js index f7dec10bb..64f99a017 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -78647,15 +78647,6 @@ var featureConfig = { var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts -var defaultAugmentationProperties = { - queriesInputCombines: false, - packsInputCombines: false, - packsInput: void 0, - queriesInput: void 0, - extraQueryExclusions: [], - overlayDatabaseMode: "none" /* None */, - useOverlayDatabaseCaching: false -}; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, @@ -78820,7 +78811,7 @@ async function getCodeQLForCmd(cmd, checkVersion) { await this.getVersion(), "forceOverwrite" /* ForceOverwrite */ ) ? "--force-overwrite" : "--overwrite"; - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode === "overlay" /* Overlay */) { const overlayChangesFile = await writeOverlayChangesFile( config, diff --git a/lib/start-proxy-action-post.js b/lib/start-proxy-action-post.js index c9317c4cd..a203807e9 100644 --- a/lib/start-proxy-action-post.js +++ b/lib/start-proxy-action-post.js @@ -117330,15 +117330,6 @@ var featureConfig = { var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts -var defaultAugmentationProperties = { - queriesInputCombines: false, - packsInputCombines: false, - packsInput: void 0, - queriesInput: void 0, - extraQueryExclusions: [], - overlayDatabaseMode: "none" /* None */, - useOverlayDatabaseCaching: false -}; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/lib/upload-lib.js b/lib/upload-lib.js index 921a9ab3a..ce0643800 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -90291,7 +90291,7 @@ async function getCodeQLForCmd(cmd, checkVersion) { await this.getVersion(), "forceOverwrite" /* ForceOverwrite */ ) ? "--force-overwrite" : "--overwrite"; - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode === "overlay" /* Overlay */) { const overlayChangesFile = await writeOverlayChangesFile( config, @@ -90794,15 +90794,6 @@ ${jsonContents}` var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts -var defaultAugmentationProperties = { - queriesInputCombines: false, - packsInputCombines: false, - packsInput: void 0, - queriesInput: void 0, - extraQueryExclusions: [], - overlayDatabaseMode: "none" /* None */, - useOverlayDatabaseCaching: false -}; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/lib/upload-sarif-action-post.js b/lib/upload-sarif-action-post.js index 80c1b4690..5c58c2e3d 100644 --- a/lib/upload-sarif-action-post.js +++ b/lib/upload-sarif-action-post.js @@ -117514,15 +117514,6 @@ var core11 = __toESM(require_core()); var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts -var defaultAugmentationProperties = { - queriesInputCombines: false, - packsInputCombines: false, - packsInput: void 0, - queriesInput: void 0, - extraQueryExclusions: [], - overlayDatabaseMode: "none" /* None */, - useOverlayDatabaseCaching: false -}; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index 01f4f470d..357d43a54 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -90973,7 +90973,7 @@ async function getCodeQLForCmd(cmd, checkVersion) { await this.getVersion(), "forceOverwrite" /* ForceOverwrite */ ) ? "--force-overwrite" : "--overwrite"; - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode === "overlay" /* Overlay */) { const overlayChangesFile = await writeOverlayChangesFile( config, @@ -91476,15 +91476,6 @@ ${jsonContents}` var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts -var defaultAugmentationProperties = { - queriesInputCombines: false, - packsInputCombines: false, - packsInput: void 0, - queriesInput: void 0, - extraQueryExclusions: [], - overlayDatabaseMode: "none" /* None */, - useOverlayDatabaseCaching: false -}; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/src/analyze.ts b/src/analyze.ts index 19bfcf028..a8ab5ca91 100644 --- a/src/analyze.ts +++ b/src/analyze.ts @@ -626,10 +626,7 @@ export async function runQueries( const incrementalMode: string[] = []; // Preserve cached intermediate results for overlay-base databases. - if ( - config.augmentationProperties.overlayDatabaseMode !== - OverlayDatabaseMode.OverlayBase - ) { + if (config.overlayDatabaseMode !== OverlayDatabaseMode.OverlayBase) { queryFlags.push("--expect-discarded-cache"); } @@ -641,15 +638,10 @@ export async function runQueries( } statusReport.analysis_is_overlay = - config.augmentationProperties.overlayDatabaseMode === - OverlayDatabaseMode.Overlay; + config.overlayDatabaseMode === OverlayDatabaseMode.Overlay; statusReport.analysis_builds_overlay_base_database = - config.augmentationProperties.overlayDatabaseMode === - OverlayDatabaseMode.OverlayBase; - if ( - config.augmentationProperties.overlayDatabaseMode === - OverlayDatabaseMode.Overlay - ) { + config.overlayDatabaseMode === OverlayDatabaseMode.OverlayBase; + if (config.overlayDatabaseMode === OverlayDatabaseMode.Overlay) { incrementalMode.push("overlay"); } diff --git a/src/codeql.ts b/src/codeql.ts index 820789bdd..7fb899470 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -593,8 +593,7 @@ export async function getCodeQLForCmd( ? "--force-overwrite" : "--overwrite"; - const overlayDatabaseMode = - config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode === OverlayDatabaseMode.Overlay) { const overlayChangesFile = await writeOverlayChangesFile( config, diff --git a/src/config-utils.test.ts b/src/config-utils.test.ts index a7b36df7a..d3bfb62b8 100644 --- a/src/config-utils.test.ts +++ b/src/config-utils.test.ts @@ -348,6 +348,8 @@ test("load non-empty input", async (t) => { trapCaches: {}, trapCacheDownloadTime: 0, dependencyCachingEnabled: CachingKind.None, + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, }; const languagesInput = "javascript"; diff --git a/src/config-utils.ts b/src/config-utils.ts index 132526861..9c0d535a4 100644 --- a/src/config-utils.ts +++ b/src/config-utils.ts @@ -169,6 +169,23 @@ export interface Config { /** A value indicating how dependency caching should be used. */ dependencyCachingEnabled: CachingKind; + + /** + * The overlay database mode to use. + */ + overlayDatabaseMode: OverlayDatabaseMode; + + /** + * Whether to use caching for overlay databases. If it is true, the action + * will upload the created overlay-base database to the actions cache, and + * download an overlay-base database from the actions cache before it creates + * a new overlay database. If it is false, the action assumes that the + * workflow will be responsible for managing database storage and retrieval. + * + * This property has no effect unless `overlayDatabaseMode` is `Overlay` or + * `OverlayBase`. + */ + useOverlayDatabaseCaching: boolean; } /** @@ -206,23 +223,6 @@ export interface AugmentationProperties { * Extra query exclusions to append to the config. */ extraQueryExclusions: ExcludeQueryFilter[]; - - /** - * The overlay database mode to use. - */ - overlayDatabaseMode: OverlayDatabaseMode; - - /** - * Whether to use caching for overlay databases. If it is true, the action - * will upload the created overlay-base database to the actions cache, and - * download an overlay-base database from the actions cache before it creates - * a new overlay database. If it is false, the action assumes that the - * workflow will be responsible for managing database storage and retrieval. - * - * This property has no effect unless `overlayDatabaseMode` is `Overlay` or - * `OverlayBase`. - */ - useOverlayDatabaseCaching: boolean; } /** @@ -235,8 +235,6 @@ export const defaultAugmentationProperties: AugmentationProperties = { packsInput: undefined, queriesInput: undefined, extraQueryExclusions: [], - overlayDatabaseMode: OverlayDatabaseMode.None, - useOverlayDatabaseCaching: false, }; export type Packs = Partial>; @@ -597,6 +595,8 @@ export async function getDefaultConfig({ trapCaches, trapCacheDownloadTime, dependencyCachingEnabled: getCachingKind(dependencyCachingEnabled), + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, }; } @@ -684,8 +684,6 @@ export async function calculateAugmentation( queriesInput, queriesInputCombines, extraQueryExclusions: [], - overlayDatabaseMode: OverlayDatabaseMode.None, - useOverlayDatabaseCaching: false, }; } @@ -1108,7 +1106,6 @@ export async function initConfig(inputs: InitConfigInputs): Promise { } const config = await getDefaultConfig(inputs); - const augmentationProperties = config.augmentationProperties; config.originalUserInput = userConfig; // Compute the full Code Scanning configuration that combines the configuration from the @@ -1137,8 +1134,8 @@ export async function initConfig(inputs: InitConfigInputs): Promise { `Using overlay database mode: ${overlayDatabaseMode} ` + `${useOverlayDatabaseCaching ? "with" : "without"} caching.`, ); - augmentationProperties.overlayDatabaseMode = overlayDatabaseMode; - augmentationProperties.useOverlayDatabaseCaching = useOverlayDatabaseCaching; + config.overlayDatabaseMode = overlayDatabaseMode; + config.useOverlayDatabaseCaching = useOverlayDatabaseCaching; if ( overlayDatabaseMode === OverlayDatabaseMode.Overlay || @@ -1148,7 +1145,10 @@ export async function initConfig(inputs: InitConfigInputs): Promise { logger, )) ) { - augmentationProperties.extraQueryExclusions.push({ + if (config.computedConfig["query-filters"] === undefined) { + config.computedConfig["query-filters"] = []; + } + config.computedConfig["query-filters"].push({ exclude: { tags: "exclude-from-incremental" }, }); } diff --git a/src/init-action.ts b/src/init-action.ts index df22fe6a5..35bc83d2d 100644 --- a/src/init-action.ts +++ b/src/init-action.ts @@ -449,9 +449,8 @@ async function run() { let overlayBaseDatabaseStats: OverlayBaseDatabaseDownloadStats | undefined; try { if ( - config.augmentationProperties.overlayDatabaseMode === - OverlayDatabaseMode.Overlay && - config.augmentationProperties.useOverlayDatabaseCaching + config.overlayDatabaseMode === OverlayDatabaseMode.Overlay && + config.useOverlayDatabaseCaching ) { // OverlayDatabaseMode.Overlay comes in two flavors: with database // caching, or without. The flavor with database caching is intended to be @@ -470,8 +469,7 @@ async function run() { logger, ); if (!overlayBaseDatabaseStats) { - config.augmentationProperties.overlayDatabaseMode = - OverlayDatabaseMode.None; + config.overlayDatabaseMode = OverlayDatabaseMode.None; logger.info( "No overlay-base database found in cache, " + `reverting overlay database mode to ${OverlayDatabaseMode.None}.`, @@ -479,10 +477,7 @@ async function run() { } } - if ( - config.augmentationProperties.overlayDatabaseMode !== - OverlayDatabaseMode.Overlay - ) { + if (config.overlayDatabaseMode !== OverlayDatabaseMode.Overlay) { cleanupDatabaseClusterDirectory(config, logger); } @@ -739,15 +734,13 @@ async function run() { // revert to `OverlayDatabaseMode.None`, re-initialize the database cluster // with the new overlay database mode. if ( - config.augmentationProperties.overlayDatabaseMode !== - OverlayDatabaseMode.None && + config.overlayDatabaseMode !== OverlayDatabaseMode.None && !(await checkPacksForOverlayCompatibility(codeql, config, logger)) ) { logger.info( "Reverting overlay database mode to None due to incompatible packs.", ); - config.augmentationProperties.overlayDatabaseMode = - OverlayDatabaseMode.None; + config.overlayDatabaseMode = OverlayDatabaseMode.None; cleanupDatabaseClusterDirectory(config, logger, { disableExistingDirectoryWarning: true, }); diff --git a/src/overlay-database-utils.test.ts b/src/overlay-database-utils.test.ts index fb8a48d44..61fcf48af 100644 --- a/src/overlay-database-utils.test.ts +++ b/src/overlay-database-utils.test.ts @@ -120,10 +120,8 @@ const testDownloadOverlayBaseDatabaseFromCache = test.macro({ const testCase = { ...defaultDownloadTestCase, ...partialTestCase }; - config.augmentationProperties.overlayDatabaseMode = - testCase.overlayDatabaseMode; - config.augmentationProperties.useOverlayDatabaseCaching = - testCase.useOverlayDatabaseCaching; + config.overlayDatabaseMode = testCase.overlayDatabaseMode; + config.useOverlayDatabaseCaching = testCase.useOverlayDatabaseCaching; if (testCase.hasBaseDatabaseOidsFile) { const baseDatabaseOidsFile = path.join( diff --git a/src/overlay-database-utils.ts b/src/overlay-database-utils.ts index a01546f06..1df46aa78 100644 --- a/src/overlay-database-utils.ts +++ b/src/overlay-database-utils.ts @@ -192,7 +192,7 @@ export async function uploadOverlayBaseDatabaseToCache( config: Config, logger: Logger, ): Promise { - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode !== OverlayDatabaseMode.OverlayBase) { logger.debug( `Overlay database mode is ${overlayDatabaseMode}. ` + @@ -200,7 +200,7 @@ export async function uploadOverlayBaseDatabaseToCache( ); return false; } - if (!config.augmentationProperties.useOverlayDatabaseCaching) { + if (!config.useOverlayDatabaseCaching) { logger.debug( "Overlay database caching is disabled. " + "Skip uploading overlay-base database to cache.", @@ -298,7 +298,7 @@ export async function downloadOverlayBaseDatabaseFromCache( config: Config, logger: Logger, ): Promise { - const overlayDatabaseMode = config.augmentationProperties.overlayDatabaseMode; + const overlayDatabaseMode = config.overlayDatabaseMode; if (overlayDatabaseMode !== OverlayDatabaseMode.Overlay) { logger.debug( `Overlay database mode is ${overlayDatabaseMode}. ` + @@ -306,7 +306,7 @@ export async function downloadOverlayBaseDatabaseFromCache( ); return undefined; } - if (!config.augmentationProperties.useOverlayDatabaseCaching) { + if (!config.useOverlayDatabaseCaching) { logger.debug( "Overlay database caching is disabled. " + "Skip downloading overlay-base database from cache.", diff --git a/src/testing-utils.ts b/src/testing-utils.ts index 49b50cb21..943c4be34 100644 --- a/src/testing-utils.ts +++ b/src/testing-utils.ts @@ -11,7 +11,7 @@ import * as apiClient from "./api-client"; import { GitHubApiDetails } from "./api-client"; import { CachingKind } from "./caching-utils"; import * as codeql from "./codeql"; -import { Config } from "./config-utils"; +import { AugmentationProperties, Config } from "./config-utils"; import * as defaults from "./defaults.json"; import { CodeQLDefaultVersionInfo, @@ -374,12 +374,12 @@ export function createTestConfig(overrides: Partial): Config { packsInputCombines: false, queriesInputCombines: false, extraQueryExclusions: [], - overlayDatabaseMode: OverlayDatabaseMode.None, - useOverlayDatabaseCaching: false, - }, + } satisfies AugmentationProperties, trapCaches: {}, trapCacheDownloadTime: 0, dependencyCachingEnabled: CachingKind.None, + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, } satisfies Config, overrides, );