mirror of
https://github.com/github/codeql-action
synced 2026-05-22 00:00:34 +03:00
Improve version handling in combineSarifFiles
This commit is contained in:
Generated
+12
-11
@@ -112406,23 +112406,24 @@ function readSarifFile(sarifFilePath) {
|
||||
}
|
||||
function combineSarifFiles(sarifFiles, logger) {
|
||||
logger.info(`Loading SARIF file(s)`);
|
||||
const combinedSarif = {
|
||||
version: "2.1.0",
|
||||
runs: []
|
||||
};
|
||||
const runs = [];
|
||||
let version = void 0;
|
||||
for (const sarifFile of sarifFiles) {
|
||||
logger.debug(`Loading SARIF file: ${sarifFile}`);
|
||||
const sarifObject = readSarifFile(sarifFile);
|
||||
if (combinedSarif.version === null) {
|
||||
combinedSarif.version = sarifObject.version;
|
||||
} else if (combinedSarif.version !== sarifObject.version) {
|
||||
const sarifLog = readSarifFile(sarifFile);
|
||||
if (version === void 0) {
|
||||
version = sarifLog.version;
|
||||
} else if (version !== sarifLog.version) {
|
||||
throw new InvalidSarifUploadError(
|
||||
`Different SARIF versions encountered: ${combinedSarif.version} and ${sarifObject.version}`
|
||||
`Different SARIF versions encountered: ${version} and ${sarifLog.version}`
|
||||
);
|
||||
}
|
||||
combinedSarif.runs.push(...sarifObject.runs);
|
||||
runs.push(...sarifLog.runs);
|
||||
}
|
||||
return combinedSarif;
|
||||
if (version === void 0) {
|
||||
version = "2.1.0";
|
||||
}
|
||||
return { version, runs };
|
||||
}
|
||||
function areAllRunsProducedByCodeQL(sarifLogs) {
|
||||
return sarifLogs.every((sarifLog) => {
|
||||
|
||||
Generated
+12
-11
@@ -169484,23 +169484,24 @@ function readSarifFile(sarifFilePath) {
|
||||
}
|
||||
function combineSarifFiles(sarifFiles, logger) {
|
||||
logger.info(`Loading SARIF file(s)`);
|
||||
const combinedSarif = {
|
||||
version: "2.1.0",
|
||||
runs: []
|
||||
};
|
||||
const runs = [];
|
||||
let version = void 0;
|
||||
for (const sarifFile of sarifFiles) {
|
||||
logger.debug(`Loading SARIF file: ${sarifFile}`);
|
||||
const sarifObject = readSarifFile(sarifFile);
|
||||
if (combinedSarif.version === null) {
|
||||
combinedSarif.version = sarifObject.version;
|
||||
} else if (combinedSarif.version !== sarifObject.version) {
|
||||
const sarifLog = readSarifFile(sarifFile);
|
||||
if (version === void 0) {
|
||||
version = sarifLog.version;
|
||||
} else if (version !== sarifLog.version) {
|
||||
throw new InvalidSarifUploadError(
|
||||
`Different SARIF versions encountered: ${combinedSarif.version} and ${sarifObject.version}`
|
||||
`Different SARIF versions encountered: ${version} and ${sarifLog.version}`
|
||||
);
|
||||
}
|
||||
combinedSarif.runs.push(...sarifObject.runs);
|
||||
runs.push(...sarifLog.runs);
|
||||
}
|
||||
return combinedSarif;
|
||||
if (version === void 0) {
|
||||
version = "2.1.0";
|
||||
}
|
||||
return { version, runs };
|
||||
}
|
||||
function areAllRunsProducedByCodeQL(sarifLogs) {
|
||||
return sarifLogs.every((sarifLog) => {
|
||||
|
||||
Generated
+12
-11
@@ -110293,23 +110293,24 @@ function readSarifFile(sarifFilePath) {
|
||||
}
|
||||
function combineSarifFiles(sarifFiles, logger) {
|
||||
logger.info(`Loading SARIF file(s)`);
|
||||
const combinedSarif = {
|
||||
version: "2.1.0",
|
||||
runs: []
|
||||
};
|
||||
const runs = [];
|
||||
let version = void 0;
|
||||
for (const sarifFile of sarifFiles) {
|
||||
logger.debug(`Loading SARIF file: ${sarifFile}`);
|
||||
const sarifObject = readSarifFile(sarifFile);
|
||||
if (combinedSarif.version === null) {
|
||||
combinedSarif.version = sarifObject.version;
|
||||
} else if (combinedSarif.version !== sarifObject.version) {
|
||||
const sarifLog = readSarifFile(sarifFile);
|
||||
if (version === void 0) {
|
||||
version = sarifLog.version;
|
||||
} else if (version !== sarifLog.version) {
|
||||
throw new InvalidSarifUploadError(
|
||||
`Different SARIF versions encountered: ${combinedSarif.version} and ${sarifObject.version}`
|
||||
`Different SARIF versions encountered: ${version} and ${sarifLog.version}`
|
||||
);
|
||||
}
|
||||
combinedSarif.runs.push(...sarifObject.runs);
|
||||
runs.push(...sarifLog.runs);
|
||||
}
|
||||
return combinedSarif;
|
||||
if (version === void 0) {
|
||||
version = "2.1.0";
|
||||
}
|
||||
return { version, runs };
|
||||
}
|
||||
function areAllRunsProducedByCodeQL(sarifLogs) {
|
||||
return sarifLogs.every((sarifLog) => {
|
||||
|
||||
Generated
+12
-11
@@ -107503,23 +107503,24 @@ function readSarifFile(sarifFilePath) {
|
||||
}
|
||||
function combineSarifFiles(sarifFiles, logger) {
|
||||
logger.info(`Loading SARIF file(s)`);
|
||||
const combinedSarif = {
|
||||
version: "2.1.0",
|
||||
runs: []
|
||||
};
|
||||
const runs = [];
|
||||
let version = void 0;
|
||||
for (const sarifFile of sarifFiles) {
|
||||
logger.debug(`Loading SARIF file: ${sarifFile}`);
|
||||
const sarifObject = readSarifFile(sarifFile);
|
||||
if (combinedSarif.version === null) {
|
||||
combinedSarif.version = sarifObject.version;
|
||||
} else if (combinedSarif.version !== sarifObject.version) {
|
||||
const sarifLog = readSarifFile(sarifFile);
|
||||
if (version === void 0) {
|
||||
version = sarifLog.version;
|
||||
} else if (version !== sarifLog.version) {
|
||||
throw new InvalidSarifUploadError(
|
||||
`Different SARIF versions encountered: ${combinedSarif.version} and ${sarifObject.version}`
|
||||
`Different SARIF versions encountered: ${version} and ${sarifLog.version}`
|
||||
);
|
||||
}
|
||||
combinedSarif.runs.push(...sarifObject.runs);
|
||||
runs.push(...sarifLog.runs);
|
||||
}
|
||||
return combinedSarif;
|
||||
if (version === void 0) {
|
||||
version = "2.1.0";
|
||||
}
|
||||
return { version, runs };
|
||||
}
|
||||
function areAllRunsProducedByCodeQL(sarifLogs) {
|
||||
return sarifLogs.every((sarifLog) => {
|
||||
|
||||
+18
-12
@@ -46,27 +46,33 @@ export function combineSarifFiles(
|
||||
logger: Logger,
|
||||
): sarif.Log {
|
||||
logger.info(`Loading SARIF file(s)`);
|
||||
const combinedSarif: sarif.Log = {
|
||||
version: "2.1.0",
|
||||
runs: [],
|
||||
};
|
||||
const runs: sarif.Run[] = [];
|
||||
let version: sarif.Log.version | undefined = undefined;
|
||||
|
||||
for (const sarifFile of sarifFiles) {
|
||||
logger.debug(`Loading SARIF file: ${sarifFile}`);
|
||||
const sarifObject = readSarifFile(sarifFile);
|
||||
// Check SARIF version
|
||||
if (combinedSarif.version === null) {
|
||||
combinedSarif.version = sarifObject.version;
|
||||
} else if (combinedSarif.version !== sarifObject.version) {
|
||||
const sarifLog = readSarifFile(sarifFile);
|
||||
// If this is the first SARIF file we are reading, store the version from it so that we
|
||||
// can put it in the combined SARIF. If not, then check that the versions match and
|
||||
// throw an exception if they do not.
|
||||
if (version === undefined) {
|
||||
version = sarifLog.version;
|
||||
} else if (version !== sarifLog.version) {
|
||||
throw new InvalidSarifUploadError(
|
||||
`Different SARIF versions encountered: ${combinedSarif.version} and ${sarifObject.version}`,
|
||||
`Different SARIF versions encountered: ${version} and ${sarifLog.version}`,
|
||||
);
|
||||
}
|
||||
|
||||
combinedSarif.runs.push(...sarifObject.runs);
|
||||
runs.push(...sarifLog.runs);
|
||||
}
|
||||
|
||||
return combinedSarif;
|
||||
// We can't guarantee that the SARIF files we load will have version properties. As a fallback,
|
||||
// we set it to the expected version if we didn't find any other.
|
||||
if (version === undefined) {
|
||||
version = "2.1.0";
|
||||
}
|
||||
|
||||
return { version, runs };
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user