Log validation errors

This commit is contained in:
Michael B. Gale
2025-10-14 18:48:05 +01:00
parent 913cd47984
commit 0822fb12e7
4 changed files with 67 additions and 13 deletions

25
lib/init-action.js generated
View File

@@ -88056,7 +88056,7 @@ function generateCodeScanningConfig(logger, originalUserInput, augmentationPrope
}
return augmentedConfig;
}
function parseUserConfig(pathInput, contents) {
function parseUserConfig(logger, pathInput, contents) {
try {
const schema2 = (
// eslint-disable-next-line @typescript-eslint/no-require-imports
@@ -88065,10 +88065,13 @@ function parseUserConfig(pathInput, contents) {
const doc = load(contents);
const result = new jsonschema.Validator().validate(doc, schema2);
if (result.errors.length > 0) {
for (const error2 of result.errors) {
logger.error(error2.stack);
}
throw new ConfigurationError(
getInvalidConfigFileMessage(
pathInput,
`The configuration file contained ${result.errors.length} error(s)`
`There are ${result.errors.length} error(s)`
)
);
}
@@ -89284,7 +89287,7 @@ async function downloadCacheWithTime(trapCachingEnabled, codeQL, languages, logg
}
return { trapCaches, trapCacheDownloadTime };
}
async function loadUserConfig(configFile, workspacePath, apiDetails, tempDir) {
async function loadUserConfig(logger, configFile, workspacePath, apiDetails, tempDir) {
if (isLocal(configFile)) {
if (configFile !== userConfigFromActionPath(tempDir)) {
configFile = path11.resolve(workspacePath, configFile);
@@ -89294,9 +89297,9 @@ async function loadUserConfig(configFile, workspacePath, apiDetails, tempDir) {
);
}
}
return getLocalConfig(configFile);
return getLocalConfig(logger, configFile);
} else {
return await getRemoteConfig(configFile, apiDetails);
return await getRemoteConfig(logger, configFile, apiDetails);
}
}
var OVERLAY_ANALYSIS_FEATURES = {
@@ -89443,6 +89446,7 @@ async function initConfig(inputs) {
} else {
logger.debug(`Using configuration file: ${inputs.configFile}`);
userConfig = await loadUserConfig(
logger,
inputs.configFile,
inputs.workspacePath,
inputs.apiDetails,
@@ -89508,15 +89512,19 @@ function isLocal(configPath) {
}
return configPath.indexOf("@") === -1;
}
function getLocalConfig(configFile) {
function getLocalConfig(logger, configFile) {
if (!fs9.existsSync(configFile)) {
throw new ConfigurationError(
getConfigFileDoesNotExistErrorMessage(configFile)
);
}
return parseUserConfig(configFile, fs9.readFileSync(configFile, "utf-8"));
return parseUserConfig(
logger,
configFile,
fs9.readFileSync(configFile, "utf-8")
);
}
async function getRemoteConfig(configFile, apiDetails) {
async function getRemoteConfig(logger, configFile, apiDetails) {
const format = new RegExp(
"(?<owner>[^/]+)/(?<repo>[^/]+)/(?<path>[^@]+)@(?<ref>.*)"
);
@@ -89545,6 +89553,7 @@ async function getRemoteConfig(configFile, apiDetails) {
);
}
return parseUserConfig(
logger,
configFile,
Buffer.from(fileContents, "base64").toString("binary")
);