mirror of
https://github.com/github/codeql-action.git
synced 2026-08-05 04:57:19 -05:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9fbfe02d3e | |||
| 53b268a8f0 | |||
| 33a31c1c92 | |||
| a7fb336064 |
Generated
+37
-14
@@ -95581,22 +95581,30 @@ function buildPayload(commitOid, ref, analysisKey, analysisName, zippedSarif, wo
|
||||
}
|
||||
return payloadObj;
|
||||
}
|
||||
async function uploadFiles(inputSarifPath, checkoutPath, category, features, logger, uploadTarget) {
|
||||
async function maybeUploadFiles(inputSarifPath, checkoutPath, category, features, logger, uploadTarget, uploadKind) {
|
||||
const sarifPaths = getSarifFilePaths(
|
||||
inputSarifPath,
|
||||
uploadTarget.sarifPredicate
|
||||
);
|
||||
return uploadSpecifiedFiles(
|
||||
return maybeUploadSpecifiedFiles(
|
||||
sarifPaths,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget
|
||||
uploadTarget,
|
||||
uploadKind
|
||||
);
|
||||
}
|
||||
async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features, logger, uploadTarget) {
|
||||
logger.startGroup(`Uploading ${uploadTarget.name} results`);
|
||||
async function maybeUploadSpecifiedFiles(sarifPaths, checkoutPath, category, features, logger, uploadTarget, uploadKind) {
|
||||
const dumpDir = process.env["CODEQL_ACTION_SARIF_DUMP_DIR" /* SARIF_DUMP_DIR */];
|
||||
const upload = uploadKind === "always";
|
||||
if (!upload && !dumpDir) {
|
||||
logger.info(`Skipping upload of ${uploadTarget.name} results`);
|
||||
return void 0;
|
||||
}
|
||||
logger.startGroup(`Processing ${uploadTarget.name} results`);
|
||||
try {
|
||||
logger.info(`Processing sarif files: ${JSON.stringify(sarifPaths)}`);
|
||||
const gitHubVersion = await getGitHubVersion();
|
||||
let sarif;
|
||||
@@ -95632,10 +95640,15 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
validateUniqueCategory(sarif, uploadTarget.sentinelPrefix);
|
||||
logger.debug(`Serializing SARIF for upload`);
|
||||
const sarifPayload = JSON.stringify(sarif);
|
||||
const dumpDir = process.env["CODEQL_ACTION_SARIF_DUMP_DIR" /* SARIF_DUMP_DIR */];
|
||||
if (dumpDir) {
|
||||
dumpSarifFile(sarifPayload, dumpDir, logger, uploadTarget);
|
||||
}
|
||||
if (!upload) {
|
||||
logger.info(
|
||||
`Skipping upload of ${uploadTarget.name} results because upload kind is "${uploadKind}"`
|
||||
);
|
||||
return void 0;
|
||||
}
|
||||
logger.debug(`Compressing serialized SARIF`);
|
||||
const zippedSarif = import_zlib.default.gzipSync(sarifPayload).toString("base64");
|
||||
const checkoutURI = url.pathToFileURL(checkoutPath).href;
|
||||
@@ -95664,7 +95677,6 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
logger,
|
||||
uploadTarget.target
|
||||
);
|
||||
logger.endGroup();
|
||||
return {
|
||||
statusReport: {
|
||||
raw_upload_size_bytes: rawUploadSizeBytes,
|
||||
@@ -95673,6 +95685,9 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
},
|
||||
sarifID
|
||||
};
|
||||
} finally {
|
||||
logger.endGroup();
|
||||
}
|
||||
}
|
||||
function dumpSarifFile(sarifPayload, outputDir, logger, uploadTarget) {
|
||||
if (!fs18.existsSync(outputDir)) {
|
||||
@@ -96033,21 +96048,26 @@ async function run() {
|
||||
}
|
||||
core14.setOutput("db-locations", dbLocations);
|
||||
core14.setOutput("sarif-output", import_path4.default.resolve(outputDir));
|
||||
const uploadInput = getOptionalInput("upload");
|
||||
if (runStats && getUploadValue(uploadInput) === "always") {
|
||||
const uploadInput = getUploadValue(
|
||||
getOptionalInput("upload")
|
||||
);
|
||||
if (runStats) {
|
||||
if (isCodeScanningEnabled(config)) {
|
||||
uploadResult = await uploadFiles(
|
||||
uploadResult = await maybeUploadFiles(
|
||||
outputDir,
|
||||
getRequiredInput("checkout_path"),
|
||||
getOptionalInput("category"),
|
||||
features,
|
||||
logger,
|
||||
CodeScanning
|
||||
CodeScanning,
|
||||
uploadInput
|
||||
);
|
||||
if (uploadResult) {
|
||||
core14.setOutput("sarif-id", uploadResult.sarifID);
|
||||
}
|
||||
}
|
||||
if (isCodeQualityEnabled(config)) {
|
||||
const qualityUploadResult = await uploadFiles(
|
||||
const qualityUploadResult = await maybeUploadFiles(
|
||||
outputDir,
|
||||
getRequiredInput("checkout_path"),
|
||||
fixCodeQualityCategory(
|
||||
@@ -96056,12 +96076,15 @@ async function run() {
|
||||
),
|
||||
features,
|
||||
logger,
|
||||
CodeQuality
|
||||
CodeQuality,
|
||||
uploadInput
|
||||
);
|
||||
if (qualityUploadResult) {
|
||||
core14.setOutput("quality-sarif-id", qualityUploadResult.sarifID);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
logger.info("Not uploading results");
|
||||
logger.info("No query status report, skipping upload");
|
||||
}
|
||||
await uploadOverlayBaseDatabaseToCache(codeql, config, logger);
|
||||
await uploadDatabases(repositoryNwo, codeql, config, apiDetails, logger);
|
||||
|
||||
Generated
+32
-6
@@ -133019,21 +133019,40 @@ function buildPayload(commitOid, ref, analysisKey, analysisName, zippedSarif, wo
|
||||
return payloadObj;
|
||||
}
|
||||
async function uploadFiles(inputSarifPath, checkoutPath, category, features, logger, uploadTarget) {
|
||||
return maybeUploadFiles(
|
||||
inputSarifPath,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget,
|
||||
"always"
|
||||
);
|
||||
}
|
||||
async function maybeUploadFiles(inputSarifPath, checkoutPath, category, features, logger, uploadTarget, uploadKind) {
|
||||
const sarifPaths = getSarifFilePaths(
|
||||
inputSarifPath,
|
||||
uploadTarget.sarifPredicate
|
||||
);
|
||||
return uploadSpecifiedFiles(
|
||||
return maybeUploadSpecifiedFiles(
|
||||
sarifPaths,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget
|
||||
uploadTarget,
|
||||
uploadKind
|
||||
);
|
||||
}
|
||||
async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features, logger, uploadTarget) {
|
||||
logger.startGroup(`Uploading ${uploadTarget.name} results`);
|
||||
async function maybeUploadSpecifiedFiles(sarifPaths, checkoutPath, category, features, logger, uploadTarget, uploadKind) {
|
||||
const dumpDir = process.env["CODEQL_ACTION_SARIF_DUMP_DIR" /* SARIF_DUMP_DIR */];
|
||||
const upload = uploadKind === "always";
|
||||
if (!upload && !dumpDir) {
|
||||
logger.info(`Skipping upload of ${uploadTarget.name} results`);
|
||||
return void 0;
|
||||
}
|
||||
logger.startGroup(`Processing ${uploadTarget.name} results`);
|
||||
try {
|
||||
logger.info(`Processing sarif files: ${JSON.stringify(sarifPaths)}`);
|
||||
const gitHubVersion = await getGitHubVersion();
|
||||
let sarif;
|
||||
@@ -133069,10 +133088,15 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
validateUniqueCategory(sarif, uploadTarget.sentinelPrefix);
|
||||
logger.debug(`Serializing SARIF for upload`);
|
||||
const sarifPayload = JSON.stringify(sarif);
|
||||
const dumpDir = process.env["CODEQL_ACTION_SARIF_DUMP_DIR" /* SARIF_DUMP_DIR */];
|
||||
if (dumpDir) {
|
||||
dumpSarifFile(sarifPayload, dumpDir, logger, uploadTarget);
|
||||
}
|
||||
if (!upload) {
|
||||
logger.info(
|
||||
`Skipping upload of ${uploadTarget.name} results because upload kind is "${uploadKind}"`
|
||||
);
|
||||
return void 0;
|
||||
}
|
||||
logger.debug(`Compressing serialized SARIF`);
|
||||
const zippedSarif = import_zlib.default.gzipSync(sarifPayload).toString("base64");
|
||||
const checkoutURI = url.pathToFileURL(checkoutPath).href;
|
||||
@@ -133101,7 +133125,6 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
logger,
|
||||
uploadTarget.target
|
||||
);
|
||||
logger.endGroup();
|
||||
return {
|
||||
statusReport: {
|
||||
raw_upload_size_bytes: rawUploadSizeBytes,
|
||||
@@ -133110,6 +133133,9 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
},
|
||||
sarifID
|
||||
};
|
||||
} finally {
|
||||
logger.endGroup();
|
||||
}
|
||||
}
|
||||
function dumpSarifFile(sarifPayload, outputDir, logger, uploadTarget) {
|
||||
if (!fs17.existsSync(outputDir)) {
|
||||
|
||||
Generated
+44
-5
@@ -84782,6 +84782,7 @@ __export(upload_lib_exports, {
|
||||
buildPayload: () => buildPayload,
|
||||
findSarifFilesInDir: () => findSarifFilesInDir,
|
||||
getSarifFilePaths: () => getSarifFilePaths,
|
||||
maybeUploadFiles: () => maybeUploadFiles,
|
||||
populateRunAutomationDetails: () => populateRunAutomationDetails,
|
||||
readSarifFile: () => readSarifFile,
|
||||
shouldConsiderConfigurationError: () => shouldConsiderConfigurationError,
|
||||
@@ -92391,21 +92392,51 @@ function buildPayload(commitOid, ref, analysisKey, analysisName, zippedSarif, wo
|
||||
return payloadObj;
|
||||
}
|
||||
async function uploadFiles(inputSarifPath, checkoutPath, category, features, logger, uploadTarget) {
|
||||
return maybeUploadFiles(
|
||||
inputSarifPath,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget,
|
||||
"always"
|
||||
);
|
||||
}
|
||||
async function maybeUploadFiles(inputSarifPath, checkoutPath, category, features, logger, uploadTarget, uploadKind) {
|
||||
const sarifPaths = getSarifFilePaths(
|
||||
inputSarifPath,
|
||||
uploadTarget.sarifPredicate
|
||||
);
|
||||
return uploadSpecifiedFiles(
|
||||
return maybeUploadSpecifiedFiles(
|
||||
sarifPaths,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget
|
||||
uploadTarget,
|
||||
uploadKind
|
||||
);
|
||||
}
|
||||
async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features, logger, uploadTarget) {
|
||||
logger.startGroup(`Uploading ${uploadTarget.name} results`);
|
||||
return maybeUploadSpecifiedFiles(
|
||||
sarifPaths,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget,
|
||||
"always"
|
||||
);
|
||||
}
|
||||
async function maybeUploadSpecifiedFiles(sarifPaths, checkoutPath, category, features, logger, uploadTarget, uploadKind) {
|
||||
const dumpDir = process.env["CODEQL_ACTION_SARIF_DUMP_DIR" /* SARIF_DUMP_DIR */];
|
||||
const upload = uploadKind === "always";
|
||||
if (!upload && !dumpDir) {
|
||||
logger.info(`Skipping upload of ${uploadTarget.name} results`);
|
||||
return void 0;
|
||||
}
|
||||
logger.startGroup(`Processing ${uploadTarget.name} results`);
|
||||
try {
|
||||
logger.info(`Processing sarif files: ${JSON.stringify(sarifPaths)}`);
|
||||
const gitHubVersion = await getGitHubVersion();
|
||||
let sarif;
|
||||
@@ -92441,10 +92472,15 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
validateUniqueCategory(sarif, uploadTarget.sentinelPrefix);
|
||||
logger.debug(`Serializing SARIF for upload`);
|
||||
const sarifPayload = JSON.stringify(sarif);
|
||||
const dumpDir = process.env["CODEQL_ACTION_SARIF_DUMP_DIR" /* SARIF_DUMP_DIR */];
|
||||
if (dumpDir) {
|
||||
dumpSarifFile(sarifPayload, dumpDir, logger, uploadTarget);
|
||||
}
|
||||
if (!upload) {
|
||||
logger.info(
|
||||
`Skipping upload of ${uploadTarget.name} results because upload kind is "${uploadKind}"`
|
||||
);
|
||||
return void 0;
|
||||
}
|
||||
logger.debug(`Compressing serialized SARIF`);
|
||||
const zippedSarif = import_zlib.default.gzipSync(sarifPayload).toString("base64");
|
||||
const checkoutURI = url.pathToFileURL(checkoutPath).href;
|
||||
@@ -92473,7 +92509,6 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
logger,
|
||||
uploadTarget.target
|
||||
);
|
||||
logger.endGroup();
|
||||
return {
|
||||
statusReport: {
|
||||
raw_upload_size_bytes: rawUploadSizeBytes,
|
||||
@@ -92482,6 +92517,9 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
},
|
||||
sarifID
|
||||
};
|
||||
} finally {
|
||||
logger.endGroup();
|
||||
}
|
||||
}
|
||||
function dumpSarifFile(sarifPayload, outputDir, logger, uploadTarget) {
|
||||
if (!fs13.existsSync(outputDir)) {
|
||||
@@ -92655,6 +92693,7 @@ function filterAlertsByDiffRange(logger, sarif) {
|
||||
buildPayload,
|
||||
findSarifFilesInDir,
|
||||
getSarifFilePaths,
|
||||
maybeUploadFiles,
|
||||
populateRunAutomationDetails,
|
||||
readSarifFile,
|
||||
shouldConsiderConfigurationError,
|
||||
|
||||
Generated
+42
-5
@@ -93092,21 +93092,51 @@ function buildPayload(commitOid, ref, analysisKey, analysisName, zippedSarif, wo
|
||||
return payloadObj;
|
||||
}
|
||||
async function uploadFiles(inputSarifPath, checkoutPath, category, features, logger, uploadTarget) {
|
||||
return maybeUploadFiles(
|
||||
inputSarifPath,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget,
|
||||
"always"
|
||||
);
|
||||
}
|
||||
async function maybeUploadFiles(inputSarifPath, checkoutPath, category, features, logger, uploadTarget, uploadKind) {
|
||||
const sarifPaths = getSarifFilePaths(
|
||||
inputSarifPath,
|
||||
uploadTarget.sarifPredicate
|
||||
);
|
||||
return uploadSpecifiedFiles(
|
||||
return maybeUploadSpecifiedFiles(
|
||||
sarifPaths,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget
|
||||
uploadTarget,
|
||||
uploadKind
|
||||
);
|
||||
}
|
||||
async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features, logger, uploadTarget) {
|
||||
logger.startGroup(`Uploading ${uploadTarget.name} results`);
|
||||
return maybeUploadSpecifiedFiles(
|
||||
sarifPaths,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget,
|
||||
"always"
|
||||
);
|
||||
}
|
||||
async function maybeUploadSpecifiedFiles(sarifPaths, checkoutPath, category, features, logger, uploadTarget, uploadKind) {
|
||||
const dumpDir = process.env["CODEQL_ACTION_SARIF_DUMP_DIR" /* SARIF_DUMP_DIR */];
|
||||
const upload = uploadKind === "always";
|
||||
if (!upload && !dumpDir) {
|
||||
logger.info(`Skipping upload of ${uploadTarget.name} results`);
|
||||
return void 0;
|
||||
}
|
||||
logger.startGroup(`Processing ${uploadTarget.name} results`);
|
||||
try {
|
||||
logger.info(`Processing sarif files: ${JSON.stringify(sarifPaths)}`);
|
||||
const gitHubVersion = await getGitHubVersion();
|
||||
let sarif;
|
||||
@@ -93142,10 +93172,15 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
validateUniqueCategory(sarif, uploadTarget.sentinelPrefix);
|
||||
logger.debug(`Serializing SARIF for upload`);
|
||||
const sarifPayload = JSON.stringify(sarif);
|
||||
const dumpDir = process.env["CODEQL_ACTION_SARIF_DUMP_DIR" /* SARIF_DUMP_DIR */];
|
||||
if (dumpDir) {
|
||||
dumpSarifFile(sarifPayload, dumpDir, logger, uploadTarget);
|
||||
}
|
||||
if (!upload) {
|
||||
logger.info(
|
||||
`Skipping upload of ${uploadTarget.name} results because upload kind is "${uploadKind}"`
|
||||
);
|
||||
return void 0;
|
||||
}
|
||||
logger.debug(`Compressing serialized SARIF`);
|
||||
const zippedSarif = import_zlib.default.gzipSync(sarifPayload).toString("base64");
|
||||
const checkoutURI = url.pathToFileURL(checkoutPath).href;
|
||||
@@ -93174,7 +93209,6 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
logger,
|
||||
uploadTarget.target
|
||||
);
|
||||
logger.endGroup();
|
||||
return {
|
||||
statusReport: {
|
||||
raw_upload_size_bytes: rawUploadSizeBytes,
|
||||
@@ -93183,6 +93217,9 @@ async function uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features
|
||||
},
|
||||
sarifID
|
||||
};
|
||||
} finally {
|
||||
logger.endGroup();
|
||||
}
|
||||
}
|
||||
function dumpSarifFile(sarifPayload, outputDir, logger, uploadTarget) {
|
||||
if (!fs14.existsSync(outputDir)) {
|
||||
|
||||
+13
-5
@@ -330,22 +330,27 @@ async function run() {
|
||||
}
|
||||
core.setOutput("db-locations", dbLocations);
|
||||
core.setOutput("sarif-output", path.resolve(outputDir));
|
||||
const uploadInput = actionsUtil.getOptionalInput("upload");
|
||||
if (runStats && actionsUtil.getUploadValue(uploadInput) === "always") {
|
||||
const uploadInput = actionsUtil.getUploadValue(
|
||||
actionsUtil.getOptionalInput("upload"),
|
||||
);
|
||||
if (runStats) {
|
||||
if (isCodeScanningEnabled(config)) {
|
||||
uploadResult = await uploadLib.uploadFiles(
|
||||
uploadResult = await uploadLib.maybeUploadFiles(
|
||||
outputDir,
|
||||
actionsUtil.getRequiredInput("checkout_path"),
|
||||
actionsUtil.getOptionalInput("category"),
|
||||
features,
|
||||
logger,
|
||||
analyses.CodeScanning,
|
||||
uploadInput,
|
||||
);
|
||||
if (uploadResult) {
|
||||
core.setOutput("sarif-id", uploadResult.sarifID);
|
||||
}
|
||||
}
|
||||
|
||||
if (isCodeQualityEnabled(config)) {
|
||||
const qualityUploadResult = await uploadLib.uploadFiles(
|
||||
const qualityUploadResult = await uploadLib.maybeUploadFiles(
|
||||
outputDir,
|
||||
actionsUtil.getRequiredInput("checkout_path"),
|
||||
actionsUtil.fixCodeQualityCategory(
|
||||
@@ -355,11 +360,14 @@ async function run() {
|
||||
features,
|
||||
logger,
|
||||
analyses.CodeQuality,
|
||||
uploadInput,
|
||||
);
|
||||
if (qualityUploadResult) {
|
||||
core.setOutput("quality-sarif-id", qualityUploadResult.sarifID);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
logger.info("Not uploading results");
|
||||
logger.info("No query status report, skipping upload");
|
||||
}
|
||||
|
||||
// Possibly upload the overlay-base database to actions cache.
|
||||
|
||||
+65
-5
@@ -623,18 +623,44 @@ export async function uploadFiles(
|
||||
logger: Logger,
|
||||
uploadTarget: analyses.AnalysisConfig,
|
||||
): Promise<UploadResult> {
|
||||
return maybeUploadFiles(
|
||||
inputSarifPath,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget,
|
||||
"always",
|
||||
) as Promise<UploadResult>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Uploads a single SARIF file or a directory of SARIF files depending on what `inputSarifPath` refers
|
||||
* to. It will only upload if `uploadKind === "always"`, and return `undefined` otherwise. However
|
||||
* if `CODEQL_ACTION_SARIF_DUMP_DIR` is set, it will unconditionally process the input sarif files.
|
||||
*/
|
||||
export async function maybeUploadFiles(
|
||||
inputSarifPath: string,
|
||||
checkoutPath: string,
|
||||
category: string | undefined,
|
||||
features: FeatureEnablement,
|
||||
logger: Logger,
|
||||
uploadTarget: analyses.AnalysisConfig,
|
||||
uploadKind: actionsUtil.UploadKind,
|
||||
): Promise<UploadResult | undefined> {
|
||||
const sarifPaths = getSarifFilePaths(
|
||||
inputSarifPath,
|
||||
uploadTarget.sarifPredicate,
|
||||
);
|
||||
|
||||
return uploadSpecifiedFiles(
|
||||
return maybeUploadSpecifiedFiles(
|
||||
sarifPaths,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget,
|
||||
uploadKind,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -649,7 +675,35 @@ export async function uploadSpecifiedFiles(
|
||||
logger: Logger,
|
||||
uploadTarget: analyses.AnalysisConfig,
|
||||
): Promise<UploadResult> {
|
||||
logger.startGroup(`Uploading ${uploadTarget.name} results`);
|
||||
return maybeUploadSpecifiedFiles(
|
||||
sarifPaths,
|
||||
checkoutPath,
|
||||
category,
|
||||
features,
|
||||
logger,
|
||||
uploadTarget,
|
||||
"always",
|
||||
) as Promise<UploadResult>;
|
||||
}
|
||||
|
||||
async function maybeUploadSpecifiedFiles(
|
||||
sarifPaths: string[],
|
||||
checkoutPath: string,
|
||||
category: string | undefined,
|
||||
features: FeatureEnablement,
|
||||
logger: Logger,
|
||||
uploadTarget: analyses.AnalysisConfig,
|
||||
uploadKind: actionsUtil.UploadKind,
|
||||
): Promise<UploadResult | undefined> {
|
||||
const dumpDir = process.env[EnvVar.SARIF_DUMP_DIR];
|
||||
const upload = uploadKind === "always";
|
||||
if (!upload && !dumpDir) {
|
||||
logger.info(`Skipping upload of ${uploadTarget.name} results`);
|
||||
return undefined;
|
||||
}
|
||||
|
||||
logger.startGroup(`Processing ${uploadTarget.name} results`);
|
||||
try {
|
||||
logger.info(`Processing sarif files: ${JSON.stringify(sarifPaths)}`);
|
||||
|
||||
const gitHubVersion = await getGitHubVersion();
|
||||
@@ -697,11 +751,16 @@ export async function uploadSpecifiedFiles(
|
||||
logger.debug(`Serializing SARIF for upload`);
|
||||
const sarifPayload = JSON.stringify(sarif);
|
||||
|
||||
const dumpDir = process.env[EnvVar.SARIF_DUMP_DIR];
|
||||
if (dumpDir) {
|
||||
dumpSarifFile(sarifPayload, dumpDir, logger, uploadTarget);
|
||||
}
|
||||
|
||||
if (!upload) {
|
||||
logger.info(
|
||||
`Skipping upload of ${uploadTarget.name} results because upload kind is "${uploadKind}"`,
|
||||
);
|
||||
return undefined;
|
||||
}
|
||||
logger.debug(`Compressing serialized SARIF`);
|
||||
const zippedSarif = zlib.gzipSync(sarifPayload).toString("base64");
|
||||
const checkoutURI = url.pathToFileURL(checkoutPath).href;
|
||||
@@ -736,8 +795,6 @@ export async function uploadSpecifiedFiles(
|
||||
uploadTarget.target,
|
||||
);
|
||||
|
||||
logger.endGroup();
|
||||
|
||||
return {
|
||||
statusReport: {
|
||||
raw_upload_size_bytes: rawUploadSizeBytes,
|
||||
@@ -746,6 +803,9 @@ export async function uploadSpecifiedFiles(
|
||||
},
|
||||
sarifID,
|
||||
};
|
||||
} finally {
|
||||
logger.endGroup();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user