diff --git a/lib/upload-lib.js b/lib/upload-lib.js index 2af09fbeb..82f3807c1 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -73,14 +73,42 @@ function combineSarifFiles(sarifFiles, logger) { } /** * Checks whether all the runs in the given SARIF files were produced by CodeQL. - * @param sarifFiles The list of SARIF files to check. + * @param sarifObjects The list of SARIF objects to check. */ -function areAllRunsProducedByCodeQL(sarifFiles) { - return sarifFiles.every((sarifFile) => { - const sarifObject = JSON.parse(fs.readFileSync(sarifFile, "utf8")); +function areAllRunsProducedByCodeQL(sarifObjects) { + return sarifObjects.every((sarifObject) => { return sarifObject.runs?.every((run) => run.tool?.driver?.name === "CodeQL"); }); } +function createRunKey(run) { + return { + name: run.tool?.driver?.name, + fullName: run.tool?.driver?.fullName, + version: run.tool?.driver?.version, + semanticVersion: run.tool?.driver?.semanticVersion, + guid: run.tool?.driver?.guid, + automationId: run?.automationDetails?.id, + }; +} +/** + * Checks whether all runs in the given SARIF files are unique (based on the + * criteria used by Code Scanning to determine analysis categories). + * @param sarifObjects The list of SARIF objects to check. + */ +function areAllRunsUnique(sarifObjects) { + const keys = new Set(); + for (const sarifObject of sarifObjects) { + for (const run of sarifObject.runs) { + const key = JSON.stringify(createRunKey(run)); + // If the key already exists, the runs are not unique. + if (keys.has(key)) { + return false; + } + keys.add(key); + } + } + return true; +} // Takes a list of paths to sarif files and combines them together using the // CLI `github merge-results` command when all SARIF files are produced by // CodeQL. Otherwise, it will fall back to combining the files in the action. @@ -90,8 +118,17 @@ async function combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, lo if (sarifFiles.length === 1) { return JSON.parse(fs.readFileSync(sarifFiles[0], "utf8")); } - if (!areAllRunsProducedByCodeQL(sarifFiles)) { + const sarifObjects = sarifFiles.map((sarifFile) => { + return JSON.parse(fs.readFileSync(sarifFile, "utf8")); + }); + if (!areAllRunsProducedByCodeQL(sarifObjects)) { logger.debug("Not all SARIF files were produced by CodeQL. Merging files in the action."); + // Only give a deprecation warning when not all runs are unique + if (!areAllRunsUnique(sarifObjects) && + !process.env.CODEQL_MERGE_SARIF_DEPRECATION_WARNING) { + logger.warning("Uploading multiple SARIF runs with the same category is deprecated and will be removed on June 4, 2025. Please update your workflow to upload a single run per category. For more information, see https://github.blog/changelog/TODO"); + core.exportVariable("CODEQL_MERGE_SARIF_DEPRECATION_WARNING", "true"); + } // If not, use the naive method of combining the files. return combineSarifFiles(sarifFiles, logger); } @@ -119,6 +156,11 @@ async function combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, lo } if (!(await codeQL.supportsFeature(tools_features_1.ToolsFeature.SarifMergeRunsFromEqualCategory))) { logger.warning("The CodeQL CLI does not support merging SARIF files. Merging files in the action."); + if (!areAllRunsUnique(sarifObjects) && + !process.env.CODEQL_MERGE_SARIF_DEPRECATION_WARNING) { + logger.warning("Uploading multiple CodeQL runs with the same category is deprecated and will be removed on June 4, 2025. Please update your CodeQL CLI version or update your workflow to set a distinct category for each CodeQL run. For more information, see https://github.blog/changelog/TODO"); + core.exportVariable("CODEQL_MERGE_SARIF_DEPRECATION_WARNING", "true"); + } return combineSarifFiles(sarifFiles, logger); } const baseTempDir = path.resolve(tempDir, "combined-sarif"); diff --git a/lib/upload-lib.js.map b/lib/upload-lib.js.map index ecd637c4f..8a3346893 100644 --- a/lib/upload-lib.js.map +++ b/lib/upload-lib.js.map @@ -1 +1 @@ -{"version":3,"file":"upload-lib.js","sourceRoot":"","sources":["../src/upload-lib.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"upload-lib.js","sourceRoot":"","sources":["../src/upload-lib.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/util.js.map b/lib/util.js.map index fac1c2e60..fa0dc3236 100644 --- a/lib/util.js.map +++ b/lib/util.js.map @@ -1 +1 @@ -{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/upload-lib.ts b/src/upload-lib.ts index bc9c69b55..a007ce94f 100644 --- a/src/upload-lib.ts +++ b/src/upload-lib.ts @@ -26,6 +26,7 @@ import { getRequiredEnvParam, GitHubVersion, SarifFile, + SarifRun, wrapError, } from "./util"; @@ -65,20 +66,60 @@ function combineSarifFiles(sarifFiles: string[], logger: Logger): SarifFile { /** * Checks whether all the runs in the given SARIF files were produced by CodeQL. - * @param sarifFiles The list of SARIF files to check. + * @param sarifObjects The list of SARIF objects to check. */ -function areAllRunsProducedByCodeQL(sarifFiles: string[]): boolean { - return sarifFiles.every((sarifFile) => { - const sarifObject = JSON.parse( - fs.readFileSync(sarifFile, "utf8"), - ) as SarifFile; - +function areAllRunsProducedByCodeQL(sarifObjects: SarifFile[]): boolean { + return sarifObjects.every((sarifObject) => { return sarifObject.runs?.every( (run) => run.tool?.driver?.name === "CodeQL", ); }); } +type SarifRunKey = { + name: string | undefined; + fullName: string | undefined; + version: string | undefined; + semanticVersion: string | undefined; + guid: string | undefined; + automationId: string | undefined; +}; + +function createRunKey(run: SarifRun): SarifRunKey { + return { + name: run.tool?.driver?.name, + fullName: run.tool?.driver?.fullName, + version: run.tool?.driver?.version, + semanticVersion: run.tool?.driver?.semanticVersion, + guid: run.tool?.driver?.guid, + automationId: run?.automationDetails?.id, + }; +} + +/** + * Checks whether all runs in the given SARIF files are unique (based on the + * criteria used by Code Scanning to determine analysis categories). + * @param sarifObjects The list of SARIF objects to check. + */ +function areAllRunsUnique(sarifObjects: SarifFile[]): boolean { + const keys = new Set(); + + for (const sarifObject of sarifObjects) { + for (const run of sarifObject.runs) { + const key = JSON.stringify(createRunKey(run)); + + // If the key already exists, the runs are not unique. + if (keys.has(key)) { + return false; + } + + keys.add(key); + } + } + + return true; +} + // Takes a list of paths to sarif files and combines them together using the // CLI `github merge-results` command when all SARIF files are produced by // CodeQL. Otherwise, it will fall back to combining the files in the action. @@ -94,11 +135,26 @@ async function combineSarifFilesUsingCLI( return JSON.parse(fs.readFileSync(sarifFiles[0], "utf8")) as SarifFile; } - if (!areAllRunsProducedByCodeQL(sarifFiles)) { + const sarifObjects = sarifFiles.map((sarifFile): SarifFile => { + return JSON.parse(fs.readFileSync(sarifFile, "utf8")) as SarifFile; + }); + + if (!areAllRunsProducedByCodeQL(sarifObjects)) { logger.debug( "Not all SARIF files were produced by CodeQL. Merging files in the action.", ); + // Only give a deprecation warning when not all runs are unique + if ( + !areAllRunsUnique(sarifObjects) && + !process.env.CODEQL_MERGE_SARIF_DEPRECATION_WARNING + ) { + logger.warning( + "Uploading multiple SARIF runs with the same category is deprecated and will be removed on June 4, 2025. Please update your workflow to upload a single run per category. For more information, see https://github.blog/changelog/TODO", + ); + core.exportVariable("CODEQL_MERGE_SARIF_DEPRECATION_WARNING", "true"); + } + // If not, use the naive method of combining the files. return combineSarifFiles(sarifFiles, logger); } @@ -149,6 +205,16 @@ async function combineSarifFilesUsingCLI( "The CodeQL CLI does not support merging SARIF files. Merging files in the action.", ); + if ( + !areAllRunsUnique(sarifObjects) && + !process.env.CODEQL_MERGE_SARIF_DEPRECATION_WARNING + ) { + logger.warning( + "Uploading multiple CodeQL runs with the same category is deprecated and will be removed on June 4, 2025. Please update your CodeQL CLI version or update your workflow to set a distinct category for each CodeQL run. For more information, see https://github.blog/changelog/TODO", + ); + core.exportVariable("CODEQL_MERGE_SARIF_DEPRECATION_WARNING", "true"); + } + return combineSarifFiles(sarifFiles, logger); } diff --git a/src/util.ts b/src/util.ts index 9fed4fa81..44dbd0508 100644 --- a/src/util.ts +++ b/src/util.ts @@ -56,8 +56,11 @@ export interface SarifFile { export interface SarifRun { tool?: { driver?: { + guid?: string; name?: string; + fullName?: string; semanticVersion?: string; + version?: string; }; }; automationDetails?: {