Skip to content

Commit d565789

Browse files
committed
Pass overlay mode into databaseInitCluster()
1 parent d76f393 commit d565789

File tree

5 files changed

+27
-1
lines changed

5 files changed

+27
-1
lines changed

src/codeql.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { DocUrl } from "./doc-url";
2020
import { FeatureEnablement } from "./feature-flags";
2121
import { Language } from "./languages";
2222
import { getRunnerLogger } from "./logging";
23+
import { OverlayDatabaseMode } from "./overlay-database-utils";
2324
import { ToolsSource } from "./setup-codeql";
2425
import {
2526
setupTests,
@@ -510,6 +511,7 @@ const injectedConfigMacro = test.macro({
510511
"",
511512
undefined,
512513
undefined,
514+
OverlayDatabaseMode.None,
513515
getRunnerLogger(true),
514516
);
515517

@@ -723,6 +725,7 @@ test("passes a code scanning config AND qlconfig to the CLI", async (t: Executio
723725
"",
724726
undefined,
725727
"/path/to/qlconfig.yml",
728+
OverlayDatabaseMode.None,
726729
getRunnerLogger(true),
727730
);
728731

@@ -752,6 +755,7 @@ test("does not pass a qlconfig to the CLI when it is undefined", async (t: Execu
752755
"",
753756
undefined,
754757
undefined, // undefined qlconfigFile
758+
OverlayDatabaseMode.None,
755759
getRunnerLogger(true),
756760
);
757761

@@ -1005,6 +1009,7 @@ test("Avoids duplicating --overwrite flag if specified in CODEQL_ACTION_EXTRA_OP
10051009
"sourceRoot",
10061010
undefined,
10071011
undefined,
1012+
OverlayDatabaseMode.None,
10081013
getRunnerLogger(false),
10091014
);
10101015

src/codeql.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import {
2424
import { isAnalyzingDefaultBranch } from "./git-utils";
2525
import { Language } from "./languages";
2626
import { Logger } from "./logging";
27+
import { OverlayDatabaseMode } from "./overlay-database-utils";
2728
import * as setupCodeql from "./setup-codeql";
2829
import { ZstdAvailability } from "./tar";
2930
import { ToolsDownloadStatusReport } from "./tools-download";
@@ -82,6 +83,7 @@ export interface CodeQL {
8283
sourceRoot: string,
8384
processName: string | undefined,
8485
qlconfigFile: string | undefined,
86+
overlayDatabaseMode: OverlayDatabaseMode,
8587
logger: Logger,
8688
): Promise<void>;
8789
/**
@@ -552,6 +554,7 @@ export async function getCodeQLForCmd(
552554
sourceRoot: string,
553555
processName: string | undefined,
554556
qlconfigFile: string | undefined,
557+
overlayDatabaseMode: OverlayDatabaseMode,
555558
logger: Logger,
556559
) {
557560
const extraArgs = config.languages.map(
@@ -606,12 +609,20 @@ export async function getCodeQLForCmd(
606609
? "--force-overwrite"
607610
: "--overwrite";
608611

612+
if (overlayDatabaseMode === OverlayDatabaseMode.Overlay) {
613+
extraArgs.push("--overlay");
614+
} else if (overlayDatabaseMode === OverlayDatabaseMode.OverlayBase) {
615+
extraArgs.push("--overlay-base");
616+
}
617+
609618
await runCli(
610619
cmd,
611620
[
612621
"database",
613622
"init",
614-
overwriteFlag,
623+
...(overlayDatabaseMode === OverlayDatabaseMode.Overlay
624+
? []
625+
: [overwriteFlag]),
615626
"--db-cluster",
616627
config.dbLocation,
617628
`--source-root=${sourceRoot}`,

src/init-action.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import {
4242
} from "./init";
4343
import { Language } from "./languages";
4444
import { getActionsLogger, Logger } from "./logging";
45+
import { OverlayDatabaseMode } from "./overlay-database-utils";
4546
import { parseRepositoryNwo } from "./repository";
4647
import { ToolsSource } from "./setup-codeql";
4748
import {
@@ -687,6 +688,7 @@ async function run() {
687688
"Runner.Worker.exe",
688689
getOptionalInput("registries"),
689690
apiDetails,
691+
OverlayDatabaseMode.None,
690692
logger,
691693
);
692694
if (tracerConfig !== undefined) {

src/init.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import * as configUtils from "./config-utils";
1111
import { CodeQLDefaultVersionInfo, FeatureEnablement } from "./feature-flags";
1212
import { Language, isScannedLanguage } from "./languages";
1313
import { Logger } from "./logging";
14+
import { OverlayDatabaseMode } from "./overlay-database-utils";
1415
import { ToolsSource } from "./setup-codeql";
1516
import { ZstdAvailability } from "./tar";
1617
import { ToolsDownloadStatusReport } from "./tools-download";
@@ -86,6 +87,7 @@ export async function runInit(
8687
processName: string | undefined,
8788
registriesInput: string | undefined,
8889
apiDetails: GitHubApiCombinedDetails,
90+
overlayDatabaseMode: OverlayDatabaseMode,
8991
logger: Logger,
9092
): Promise<TracerConfig | undefined> {
9193
fs.mkdirSync(config.dbLocation, { recursive: true });
@@ -109,6 +111,7 @@ export async function runInit(
109111
sourceRoot,
110112
processName,
111113
qlconfigFile,
114+
overlayDatabaseMode,
112115
logger,
113116
),
114117
);

src/overlay-database-utils.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export enum OverlayDatabaseMode {
2+
Overlay = "overlay",
3+
OverlayBase = "overlay-base",
4+
None = "none",
5+
}

0 commit comments

Comments
 (0)