Improve error message when using build modes and autobuild fails

This commit is contained in:
Henry Mercer 2024-03-20 20:32:55 +00:00
parent 7f375aeb76
commit 4aca720110
3 changed files with 39 additions and 3 deletions

View file

@ -198,7 +198,26 @@ export async function runExtraction(
) {
await setupCppAutobuild(codeql, logger);
}
await codeql.extractUsingBuildMode(config, language);
try {
await codeql.extractUsingBuildMode(config, language);
} catch (e) {
if (config.buildMode === BuildMode.Autobuild) {
const prefix =
"We were unable to automatically build your code. " +
"Please change the build mode for this language to manual and specify build steps " +
"for your project. For more information, see " +
"https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning/automatic-build-failed.";
const ErrorConstructor =
e instanceof util.ConfigurationError
? util.ConfigurationError
: Error;
throw new ErrorConstructor(
`${prefix} ${util.wrapError(e).message}`,
);
} else {
throw e;
}
}
} else {
await codeql.extractScannedLanguage(config, language);
}