From 0fb047d929b48f67b01e5ac61a84b33658c33fad Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Thu, 4 Sep 2025 09:55:00 +0100 Subject: [PATCH] Set user-provided `UserConfig` in `getDefaultConfig` --- lib/init-action.js | 9 ++++--- src/config-utils.test.ts | 1 + src/config-utils.ts | 55 +++++++++++++++++++++------------------- 3 files changed, 36 insertions(+), 29 deletions(-) diff --git a/lib/init-action.js b/lib/init-action.js index ac9358f21..b61db8292 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -87258,7 +87258,7 @@ async function getDefaultConfig({ githubVersion, features, logger -}) { +}, userConfig) { const analysisKinds = await parseAnalysisKinds(analysisKindsInput); if (!analysisKinds.includes("code-quality" /* CodeQuality */) && qualityQueriesInput !== void 0) { analysisKinds.push("code-quality" /* CodeQuality */); @@ -87291,7 +87291,7 @@ async function getDefaultConfig({ analysisKinds, languages, buildMode, - originalUserInput: {}, + originalUserInput: userConfig, computedConfig: {}, tempDir, codeQLCmd: codeql.getPath(), @@ -87601,7 +87601,10 @@ async function initConfig(inputs) { tempDir ); } - const { augmentationProperties, ...config } = await getDefaultConfig(inputs); + const { augmentationProperties, ...config } = await getDefaultConfig( + inputs, + userConfig + ); config.originalUserInput = userConfig; config.computedConfig = generateCodeScanningConfig( userConfig, diff --git a/src/config-utils.test.ts b/src/config-utils.test.ts index a67e3cf65..5bcfcf1e2 100644 --- a/src/config-utils.test.ts +++ b/src/config-utils.test.ts @@ -166,6 +166,7 @@ test("load empty config", async (t) => { codeql, logger, }), + {}, ); t.deepEqual(config, expectedConfig); diff --git a/src/config-utils.ts b/src/config-utils.ts index e8c97a854..69ae4c7cf 100644 --- a/src/config-utils.ts +++ b/src/config-utils.ts @@ -510,29 +510,30 @@ export interface InitConfigInputs { /** * Get the default config, populated without user configuration file. */ -export async function getDefaultConfig({ - analysisKindsInput, - languagesInput, - queriesInput, - qualityQueriesInput, - packsInput, - buildModeInput, - dbLocation, - trapCachingEnabled, - dependencyCachingEnabled, - debugMode, - debugArtifactName, - debugDatabaseName, - repository, - tempDir, - codeql, - sourceRoot, - githubVersion, - features, - logger, -}: InitConfigInputs): Promise< - Config & { augmentationProperties: AugmentationProperties } -> { +export async function getDefaultConfig( + { + analysisKindsInput, + languagesInput, + queriesInput, + qualityQueriesInput, + packsInput, + buildModeInput, + dbLocation, + trapCachingEnabled, + dependencyCachingEnabled, + debugMode, + debugArtifactName, + debugDatabaseName, + repository, + tempDir, + codeql, + sourceRoot, + githubVersion, + features, + logger, + }: InitConfigInputs, + userConfig: UserConfig, +): Promise { const analysisKinds = await parseAnalysisKinds(analysisKindsInput); // For backwards compatibility, add Code Quality to the enabled analysis kinds @@ -577,7 +578,7 @@ export async function getDefaultConfig({ analysisKinds, languages, buildMode, - originalUserInput: {}, + originalUserInput: userConfig, computedConfig: {}, tempDir, codeQLCmd: codeql.getPath(), @@ -1100,8 +1101,10 @@ export async function initConfig(inputs: InitConfigInputs): Promise { ); } - const { augmentationProperties, ...config } = await getDefaultConfig(inputs); - config.originalUserInput = userConfig; + const { augmentationProperties, ...config } = await getDefaultConfig( + inputs, + userConfig, + ); // Compute the full Code Scanning configuration that combines the configuration from the // configuration file / `config` input with other inputs, such as `queries`.