Tolerate failures in uploading debug artifacts
This commit is contained in:
parent
d061f2cdd0
commit
80d7a6c8d4
3 changed files with 57 additions and 44 deletions
41
lib/debug-artifacts.js
generated
41
lib/debug-artifacts.js
generated
|
|
@ -87,7 +87,7 @@ function tryGetSarifResultPath(config, language, logger) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
logger.warning(`Failed to find SARIF results path for ${language}. ${(0, util_1.wrapError)(e)}`);
|
logger.warning(`Failed to find SARIF results path for ${language}. ${(0, util_1.wrapError)(e).message}`);
|
||||||
}
|
}
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
@ -101,29 +101,34 @@ async function tryBundleDatabase(config, language, logger) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
logger.warning(`Failed to bundle database for ${language}. ${(0, util_1.wrapError)(e)}`);
|
logger.warning(`Failed to bundle database for ${language}. ${(0, util_1.wrapError)(e).message}`);
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async function uploadAllAvailableDebugArtifacts(config, logger) {
|
async function uploadAllAvailableDebugArtifacts(config, logger) {
|
||||||
const filesToUpload = [];
|
try {
|
||||||
for (const language of config.languages) {
|
const filesToUpload = [];
|
||||||
filesToUpload.push(...tryGetSarifResultPath(config, language, logger));
|
for (const language of config.languages) {
|
||||||
// Add any log files
|
filesToUpload.push(...tryGetSarifResultPath(config, language, logger));
|
||||||
const databaseDirectory = (0, util_1.getCodeQLDatabasePath)(config, language);
|
// Add any log files
|
||||||
const logsDirectory = path.resolve(databaseDirectory, "log");
|
const databaseDirectory = (0, util_1.getCodeQLDatabasePath)(config, language);
|
||||||
if ((0, util_1.doesDirectoryExist)(logsDirectory)) {
|
const logsDirectory = path.resolve(databaseDirectory, "log");
|
||||||
filesToUpload.push(...(0, util_1.listFolder)(logsDirectory));
|
if ((0, util_1.doesDirectoryExist)(logsDirectory)) {
|
||||||
|
filesToUpload.push(...(0, util_1.listFolder)(logsDirectory));
|
||||||
|
}
|
||||||
|
// Multilanguage tracing: there are additional logs in the root of the cluster
|
||||||
|
const multiLanguageTracingLogsDirectory = path.resolve(config.dbLocation, "log");
|
||||||
|
if ((0, util_1.doesDirectoryExist)(multiLanguageTracingLogsDirectory)) {
|
||||||
|
filesToUpload.push(...(0, util_1.listFolder)(multiLanguageTracingLogsDirectory));
|
||||||
|
}
|
||||||
|
// Add database bundle
|
||||||
|
filesToUpload.push(...(await tryBundleDatabase(config, language, logger)));
|
||||||
}
|
}
|
||||||
// Multilanguage tracing: there are additional logs in the root of the cluster
|
await uploadDebugArtifacts(filesToUpload, config.dbLocation, config.debugArtifactName);
|
||||||
const multiLanguageTracingLogsDirectory = path.resolve(config.dbLocation, "log");
|
}
|
||||||
if ((0, util_1.doesDirectoryExist)(multiLanguageTracingLogsDirectory)) {
|
catch (e) {
|
||||||
filesToUpload.push(...(0, util_1.listFolder)(multiLanguageTracingLogsDirectory));
|
logger.warning(`Failed to upload debug artifacts: ${(0, util_1.wrapError)(e).message}`);
|
||||||
}
|
|
||||||
// Add database bundle
|
|
||||||
filesToUpload.push(...(await tryBundleDatabase(config, language, logger)));
|
|
||||||
}
|
}
|
||||||
await uploadDebugArtifacts(filesToUpload, config.dbLocation, config.debugArtifactName);
|
|
||||||
}
|
}
|
||||||
async function uploadDebugArtifacts(toUpload, rootDir, artifactName) {
|
async function uploadDebugArtifacts(toUpload, rootDir, artifactName) {
|
||||||
if (toUpload.length === 0) {
|
if (toUpload.length === 0) {
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -94,7 +94,9 @@ function tryGetSarifResultPath(
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.warning(
|
logger.warning(
|
||||||
`Failed to find SARIF results path for ${language}. ${wrapError(e)}`,
|
`Failed to find SARIF results path for ${language}. ${
|
||||||
|
wrapError(e).message
|
||||||
|
}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return [];
|
return [];
|
||||||
|
|
@ -113,7 +115,7 @@ async function tryBundleDatabase(
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.warning(
|
logger.warning(
|
||||||
`Failed to bundle database for ${language}. ${wrapError(e)}`,
|
`Failed to bundle database for ${language}. ${wrapError(e).message}`,
|
||||||
);
|
);
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
@ -123,36 +125,42 @@ export async function uploadAllAvailableDebugArtifacts(
|
||||||
config: Config,
|
config: Config,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) {
|
) {
|
||||||
const filesToUpload: string[] = [];
|
try {
|
||||||
|
const filesToUpload: string[] = [];
|
||||||
|
|
||||||
for (const language of config.languages) {
|
for (const language of config.languages) {
|
||||||
filesToUpload.push(...tryGetSarifResultPath(config, language, logger));
|
filesToUpload.push(...tryGetSarifResultPath(config, language, logger));
|
||||||
|
|
||||||
// Add any log files
|
// Add any log files
|
||||||
const databaseDirectory = getCodeQLDatabasePath(config, language);
|
const databaseDirectory = getCodeQLDatabasePath(config, language);
|
||||||
const logsDirectory = path.resolve(databaseDirectory, "log");
|
const logsDirectory = path.resolve(databaseDirectory, "log");
|
||||||
if (doesDirectoryExist(logsDirectory)) {
|
if (doesDirectoryExist(logsDirectory)) {
|
||||||
filesToUpload.push(...listFolder(logsDirectory));
|
filesToUpload.push(...listFolder(logsDirectory));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Multilanguage tracing: there are additional logs in the root of the cluster
|
||||||
|
const multiLanguageTracingLogsDirectory = path.resolve(
|
||||||
|
config.dbLocation,
|
||||||
|
"log",
|
||||||
|
);
|
||||||
|
if (doesDirectoryExist(multiLanguageTracingLogsDirectory)) {
|
||||||
|
filesToUpload.push(...listFolder(multiLanguageTracingLogsDirectory));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add database bundle
|
||||||
|
filesToUpload.push(
|
||||||
|
...(await tryBundleDatabase(config, language, logger)),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Multilanguage tracing: there are additional logs in the root of the cluster
|
await uploadDebugArtifacts(
|
||||||
const multiLanguageTracingLogsDirectory = path.resolve(
|
filesToUpload,
|
||||||
config.dbLocation,
|
config.dbLocation,
|
||||||
"log",
|
config.debugArtifactName,
|
||||||
);
|
);
|
||||||
if (doesDirectoryExist(multiLanguageTracingLogsDirectory)) {
|
} catch (e) {
|
||||||
filesToUpload.push(...listFolder(multiLanguageTracingLogsDirectory));
|
logger.warning(`Failed to upload debug artifacts: ${wrapError(e).message}`);
|
||||||
}
|
|
||||||
|
|
||||||
// Add database bundle
|
|
||||||
filesToUpload.push(...(await tryBundleDatabase(config, language, logger)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await uploadDebugArtifacts(
|
|
||||||
filesToUpload,
|
|
||||||
config.dbLocation,
|
|
||||||
config.debugArtifactName,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function uploadDebugArtifacts(
|
export async function uploadDebugArtifacts(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue