Skip to content

Commit f630f8f

Browse files
committed
Report invalid keys separately
1 parent 26cbf9f commit f630f8f

3 files changed

Lines changed: 58 additions & 2 deletions

File tree

lib/entry-points.js

Lines changed: 15 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/config/db-config.test.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,3 +598,30 @@ test("mergeDefaultSetupAndUserConfigs - ignores, but warns about, unknown keys f
598598
`Unrecognised keys in Default Setup configuration: ${expectedUnrecognisedKeys}`,
599599
]);
600600
});
601+
602+
test("mergeDefaultSetupAndUserConfigs - warns about invalid keys from Default Setup", async (t) => {
603+
const logger = new RecordingLogger();
604+
const configFile: dbConfig.UserConfig = {};
605+
606+
const result = dbConfig.mergeDefaultSetupAndUserConfigs(
607+
logger,
608+
{
609+
"default-setup": {
610+
org: {
611+
"model-packs": [123],
612+
},
613+
} as unknown as dbConfig.DefaultSetupConfig,
614+
},
615+
configFile,
616+
);
617+
618+
t.deepEqual(result, {
619+
...configFile,
620+
"default-setup": { org: { "model-packs": [123] } },
621+
});
622+
623+
const expectedInvalidKeys = [".default-setup.org.model-packs[0]"].join(", ");
624+
checkExpectedLogMessages(t, logger.messages, [
625+
`Invalid keys in Default Setup configuration: ${expectedInvalidKeys}`,
626+
]);
627+
});

src/config/db-config.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,22 @@ export function mergeDefaultSetupAndUserConfigs(
112112
fromConfigInput as json.UnvalidatedObject<any>,
113113
);
114114

115+
// Report any invalid or unrecognised keys.
116+
if (schemaCheckResult.invalidKeys.length > 0) {
117+
logger.warning(
118+
`Invalid keys in Default Setup configuration: ${schemaCheckResult.invalidKeys.join(", ")}`,
119+
);
120+
addNoLanguageDiagnostic(
121+
undefined,
122+
makeTelemetryDiagnostic(
123+
"codeql-action/invalid-default-setup-config-keys",
124+
"Invalid Default Setup configuration keys",
125+
{
126+
invalidKeys: schemaCheckResult.invalidKeys,
127+
},
128+
),
129+
);
130+
}
115131
if (schemaCheckResult.unknownKeys.length > 0) {
116132
logger.warning(
117133
`Unrecognised keys in Default Setup configuration: ${schemaCheckResult.unknownKeys.join(", ")}`,
@@ -122,7 +138,6 @@ export function mergeDefaultSetupAndUserConfigs(
122138
"codeql-action/unrecognised-default-setup-config-keys",
123139
"Unrecognised Default Setup configuration keys",
124140
{
125-
invalidKeys: schemaCheckResult.invalidKeys,
126141
unrecognisedKeys: schemaCheckResult.unknownKeys,
127142
},
128143
),

0 commit comments

Comments
 (0)