From 19075c437644257577bb8d655404a112ce0a953a Mon Sep 17 00:00:00 2001 From: Chuan-kai Lin Date: Fri, 18 Jul 2025 07:18:38 -0700 Subject: [PATCH] Overlay: report overlay analysis mode --- src/analyze.test.ts | 2 ++ src/analyze.ts | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/analyze.test.ts b/src/analyze.test.ts index 27becc390..6d78b2b41 100644 --- a/src/analyze.test.ts +++ b/src/analyze.test.ts @@ -114,7 +114,9 @@ test("status report fields", async (t) => { createFeatures([Feature.QaTelemetryEnabled]), ); t.deepEqual(Object.keys(statusReport).sort(), [ + "analysis_builds_overlay_base_database", "analysis_is_diff_informed", + "analysis_is_overlay", `analyze_builtin_queries_${language}_duration_ms`, "event_reports", `interpret_results_${language}_duration_ms`, diff --git a/src/analyze.ts b/src/analyze.ts index d03f58ef3..62a9c5010 100644 --- a/src/analyze.ts +++ b/src/analyze.ts @@ -132,6 +132,18 @@ export interface QueriesStatusReport { */ analysis_is_diff_informed?: boolean; + /** + * Whether the analysis runs in overlay mode (i.e., uses an overlay-base database). + * This is true if the AugmentationProperties.overlayDatabaseMode === Overlay. + */ + analysis_is_overlay?: boolean; + + /** + * Whether the analysis builds an overlay-base database. + * This is true if the AugmentationProperties.overlayDatabaseMode === OverlayBase. + */ + analysis_builds_overlay_base_database?: boolean; + /** Name of language that errored during analysis (or undefined if no language failed). */ analyze_failure_language?: string; /** Reports on discrete events associated with this status report. */ @@ -617,12 +629,20 @@ export async function runQueries( queryFlags.push("--extension-packs=codeql-action/pr-diff-range"); incrementalMode.push("diff-informed"); } + + statusReport.analysis_is_overlay = + config.augmentationProperties.overlayDatabaseMode === + OverlayDatabaseMode.Overlay; + statusReport.analysis_builds_overlay_base_database = + config.augmentationProperties.overlayDatabaseMode === + OverlayDatabaseMode.OverlayBase; if ( config.augmentationProperties.overlayDatabaseMode === OverlayDatabaseMode.Overlay ) { incrementalMode.push("overlay"); } + const sarifRunPropertyFlag = incrementalMode.length > 0 ? `--sarif-run-property=incrementalMode=${incrementalMode.join(",")}`