From 2f3bbce9a6f0f0daaa2e3e8480b0b9cdd6039cce Mon Sep 17 00:00:00 2001 From: Kasper Svendsen Date: Thu, 27 Nov 2025 15:33:22 +0100 Subject: [PATCH] Overlay: Introduce overlay memory limit constant --- lib/analyze-action-post.js | 1 + lib/analyze-action.js | 1 + lib/autobuild-action.js | 1 + lib/init-action-post.js | 1 + lib/init-action.js | 3 ++- lib/resolve-environment-action.js | 1 + lib/setup-codeql-action.js | 1 + lib/start-proxy-action-post.js | 1 + lib/start-proxy-action.js | 1 + lib/upload-lib.js | 1 + lib/upload-sarif-action-post.js | 1 + lib/upload-sarif-action.js | 1 + src/config-utils.ts | 10 +++++++++- 13 files changed, 22 insertions(+), 2 deletions(-) diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index fc75996bc..69c8cd237 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -120226,6 +120226,7 @@ var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; 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 aecec3071..f4d98a7ff 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -89385,6 +89385,7 @@ async function cachePrefix(codeql, language) { // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js index 2b6565958..7b6427693 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -84431,6 +84431,7 @@ var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; 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 f83e50032..f26a8a6cd 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -123890,6 +123890,7 @@ var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; 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 14cecedd7..7fc57970e 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -86668,6 +86668,7 @@ async function cachePrefix(codeql, language) { // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; async function getSupportedLanguageMap(codeql, logger) { const resolveSupportedLanguagesUsingCli = await codeql.supportsFeature( "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ @@ -86935,7 +86936,7 @@ async function runnerSupportsOverlayAnalysis(ramInput, logger) { return false; } const memoryFlagValue = getMemoryFlagValue(ramInput, logger); - if (memoryFlagValue < 5 * 1024) { + if (memoryFlagValue < OVERLAY_MINIMUM_MEMORY_MB) { logger.info( `Setting overlay database mode to ${"none" /* None */} due to insufficient memory for CodeQL analysis (${memoryFlagValue} MB).` ); diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js index 1d30ed9ff..4c1ff0735 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -84157,6 +84157,7 @@ var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/lib/setup-codeql-action.js b/lib/setup-codeql-action.js index 53f907522..76baae1af 100644 --- a/lib/setup-codeql-action.js +++ b/lib/setup-codeql-action.js @@ -84602,6 +84602,7 @@ var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/lib/start-proxy-action-post.js b/lib/start-proxy-action-post.js index 5411f021e..2a299b897 100644 --- a/lib/start-proxy-action-post.js +++ b/lib/start-proxy-action-post.js @@ -119632,6 +119632,7 @@ var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/lib/start-proxy-action.js b/lib/start-proxy-action.js index 31f1526c7..82458c218 100644 --- a/lib/start-proxy-action.js +++ b/lib/start-proxy-action.js @@ -100185,6 +100185,7 @@ var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; 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 e026ae89b..9e5c8738e 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -87240,6 +87240,7 @@ var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; 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 f54ec4495..42449d218 100644 --- a/lib/upload-sarif-action-post.js +++ b/lib/upload-sarif-action-post.js @@ -119798,6 +119798,7 @@ var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; 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 231fac13c..37dc6bbaf 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -87322,6 +87322,7 @@ var actionsCache2 = __toESM(require_cache3()); // src/config-utils.ts var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4; var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1e6; +var OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; var OVERLAY_ANALYSIS_FEATURES = { actions: "overlay_analysis_actions" /* OverlayAnalysisActions */, cpp: "overlay_analysis_cpp" /* OverlayAnalysisCpp */, diff --git a/src/config-utils.ts b/src/config-utils.ts index 4f3fadf66..15f56a350 100644 --- a/src/config-utils.ts +++ b/src/config-utils.ts @@ -60,6 +60,14 @@ const OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 20000; const OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES = OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB * 1_000_000; +/** + * The minimum memory (in MB) that must be available for CodeQL to perform overlay + * analysis. If CodeQL will be given less memory than this threshold, then the + * action will not perform overlay analysis unless overlay analysis has been + * explicitly enabled via environment variable. + */ +const OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024; + export type RegistryConfigWithCredentials = RegistryConfigNoCredentials & { // Token to use when downloading packs from this registry. token: string; @@ -657,7 +665,7 @@ async function runnerSupportsOverlayAnalysis( } const memoryFlagValue = getMemoryFlagValue(ramInput, logger); - if (memoryFlagValue < 5 * 1024) { + if (memoryFlagValue < OVERLAY_MINIMUM_MEMORY_MB) { logger.info( `Setting overlay database mode to ${OverlayDatabaseMode.None} ` + `due to insufficient memory for CodeQL analysis (${memoryFlagValue} MB).`,