Pass overlay mode into databaseInitCluster()
This commit adds a OverlayDatabaseMode parameter to databaseInitCluster(). The parameter controls the "codeql database init" flags concerning overlay database creation. There is no behavior change in this commit because we always pass OverlayDatabaseMode.None to databaseInitCluster(). That will change in the next commit.
This commit is contained in:
parent
d76f393713
commit
270886f805
5 changed files with 27 additions and 1 deletions
|
|
@ -20,6 +20,7 @@ import { DocUrl } from "./doc-url";
|
|||
import { FeatureEnablement } from "./feature-flags";
|
||||
import { Language } from "./languages";
|
||||
import { getRunnerLogger } from "./logging";
|
||||
import { OverlayDatabaseMode } from "./overlay-database-utils";
|
||||
import { ToolsSource } from "./setup-codeql";
|
||||
import {
|
||||
setupTests,
|
||||
|
|
@ -510,6 +511,7 @@ const injectedConfigMacro = test.macro({
|
|||
"",
|
||||
undefined,
|
||||
undefined,
|
||||
OverlayDatabaseMode.None,
|
||||
getRunnerLogger(true),
|
||||
);
|
||||
|
||||
|
|
@ -723,6 +725,7 @@ test("passes a code scanning config AND qlconfig to the CLI", async (t: Executio
|
|||
"",
|
||||
undefined,
|
||||
"/path/to/qlconfig.yml",
|
||||
OverlayDatabaseMode.None,
|
||||
getRunnerLogger(true),
|
||||
);
|
||||
|
||||
|
|
@ -752,6 +755,7 @@ test("does not pass a qlconfig to the CLI when it is undefined", async (t: Execu
|
|||
"",
|
||||
undefined,
|
||||
undefined, // undefined qlconfigFile
|
||||
OverlayDatabaseMode.None,
|
||||
getRunnerLogger(true),
|
||||
);
|
||||
|
||||
|
|
@ -1005,6 +1009,7 @@ test("Avoids duplicating --overwrite flag if specified in CODEQL_ACTION_EXTRA_OP
|
|||
"sourceRoot",
|
||||
undefined,
|
||||
undefined,
|
||||
OverlayDatabaseMode.None,
|
||||
getRunnerLogger(false),
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import {
|
|||
import { isAnalyzingDefaultBranch } from "./git-utils";
|
||||
import { Language } from "./languages";
|
||||
import { Logger } from "./logging";
|
||||
import { OverlayDatabaseMode } from "./overlay-database-utils";
|
||||
import * as setupCodeql from "./setup-codeql";
|
||||
import { ZstdAvailability } from "./tar";
|
||||
import { ToolsDownloadStatusReport } from "./tools-download";
|
||||
|
|
@ -82,6 +83,7 @@ export interface CodeQL {
|
|||
sourceRoot: string,
|
||||
processName: string | undefined,
|
||||
qlconfigFile: string | undefined,
|
||||
overlayDatabaseMode: OverlayDatabaseMode,
|
||||
logger: Logger,
|
||||
): Promise<void>;
|
||||
/**
|
||||
|
|
@ -552,6 +554,7 @@ export async function getCodeQLForCmd(
|
|||
sourceRoot: string,
|
||||
processName: string | undefined,
|
||||
qlconfigFile: string | undefined,
|
||||
overlayDatabaseMode: OverlayDatabaseMode,
|
||||
logger: Logger,
|
||||
) {
|
||||
const extraArgs = config.languages.map(
|
||||
|
|
@ -606,12 +609,20 @@ export async function getCodeQLForCmd(
|
|||
? "--force-overwrite"
|
||||
: "--overwrite";
|
||||
|
||||
if (overlayDatabaseMode === OverlayDatabaseMode.Overlay) {
|
||||
extraArgs.push("--overlay");
|
||||
} else if (overlayDatabaseMode === OverlayDatabaseMode.OverlayBase) {
|
||||
extraArgs.push("--overlay-base");
|
||||
}
|
||||
|
||||
await runCli(
|
||||
cmd,
|
||||
[
|
||||
"database",
|
||||
"init",
|
||||
overwriteFlag,
|
||||
...(overlayDatabaseMode === OverlayDatabaseMode.Overlay
|
||||
? []
|
||||
: [overwriteFlag]),
|
||||
"--db-cluster",
|
||||
config.dbLocation,
|
||||
`--source-root=${sourceRoot}`,
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ import {
|
|||
} from "./init";
|
||||
import { Language } from "./languages";
|
||||
import { getActionsLogger, Logger } from "./logging";
|
||||
import { OverlayDatabaseMode } from "./overlay-database-utils";
|
||||
import { parseRepositoryNwo } from "./repository";
|
||||
import { ToolsSource } from "./setup-codeql";
|
||||
import {
|
||||
|
|
@ -687,6 +688,7 @@ async function run() {
|
|||
"Runner.Worker.exe",
|
||||
getOptionalInput("registries"),
|
||||
apiDetails,
|
||||
OverlayDatabaseMode.None,
|
||||
logger,
|
||||
);
|
||||
if (tracerConfig !== undefined) {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import * as configUtils from "./config-utils";
|
|||
import { CodeQLDefaultVersionInfo, FeatureEnablement } from "./feature-flags";
|
||||
import { Language, isScannedLanguage } from "./languages";
|
||||
import { Logger } from "./logging";
|
||||
import { OverlayDatabaseMode } from "./overlay-database-utils";
|
||||
import { ToolsSource } from "./setup-codeql";
|
||||
import { ZstdAvailability } from "./tar";
|
||||
import { ToolsDownloadStatusReport } from "./tools-download";
|
||||
|
|
@ -86,6 +87,7 @@ export async function runInit(
|
|||
processName: string | undefined,
|
||||
registriesInput: string | undefined,
|
||||
apiDetails: GitHubApiCombinedDetails,
|
||||
overlayDatabaseMode: OverlayDatabaseMode,
|
||||
logger: Logger,
|
||||
): Promise<TracerConfig | undefined> {
|
||||
fs.mkdirSync(config.dbLocation, { recursive: true });
|
||||
|
|
@ -109,6 +111,7 @@ export async function runInit(
|
|||
sourceRoot,
|
||||
processName,
|
||||
qlconfigFile,
|
||||
overlayDatabaseMode,
|
||||
logger,
|
||||
),
|
||||
);
|
||||
|
|
|
|||
5
src/overlay-database-utils.ts
Normal file
5
src/overlay-database-utils.ts
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
export enum OverlayDatabaseMode {
|
||||
Overlay = "overlay",
|
||||
OverlayBase = "overlay-base",
|
||||
None = "none",
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue