From e080dc827a19b2800cf36dfd4c0d8ee107b07427 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Fri, 26 Sep 2025 15:59:26 +0100 Subject: [PATCH] Check if file is `.quality.sarif` for CQ upload --- lib/upload-sarif-action.js | 24 +++++++++++++----------- src/upload-sarif.ts | 27 ++++++++++++++++----------- 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index 6606e1037..44cb62412 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -93466,17 +93466,19 @@ async function uploadSarif(logger, features, sarifPath, pathStats, checkoutPath, core13.setOutput("sarif-id", uploadResult.sarifID); uploadResults["code-scanning" /* CodeScanning */] = uploadResult; } - const qualityUploadResult = await findAndUpload( - logger, - features, - sarifPath, - pathStats, - checkoutPath, - CodeQuality, - fixCodeQualityCategory(logger, category) - ); - if (qualityUploadResult !== void 0) { - uploadResults["code-quality" /* CodeQuality */] = qualityUploadResult; + if (pathStats.isDirectory() || pathStats.isFile() && CodeQuality.sarifPredicate(sarifPath)) { + const qualityUploadResult = await findAndUpload( + logger, + features, + sarifPath, + pathStats, + checkoutPath, + CodeQuality, + fixCodeQualityCategory(logger, category) + ); + if (qualityUploadResult !== void 0) { + uploadResults["code-quality" /* CodeQuality */] = qualityUploadResult; + } } return uploadResults; } diff --git a/src/upload-sarif.ts b/src/upload-sarif.ts index 368ae69ed..3e6a99ccb 100644 --- a/src/upload-sarif.ts +++ b/src/upload-sarif.ts @@ -83,17 +83,22 @@ export async function uploadSarif( } // If there are `.quality.sarif` files in `sarifPath`, then upload those to the code quality service. - const qualityUploadResult = await findAndUpload( - logger, - features, - sarifPath, - pathStats, - checkoutPath, - analyses.CodeQuality, - actionsUtil.fixCodeQualityCategory(logger, category), - ); - if (qualityUploadResult !== undefined) { - uploadResults[analyses.AnalysisKind.CodeQuality] = qualityUploadResult; + if ( + pathStats.isDirectory() || + (pathStats.isFile() && analyses.CodeQuality.sarifPredicate(sarifPath)) + ) { + const qualityUploadResult = await findAndUpload( + logger, + features, + sarifPath, + pathStats, + checkoutPath, + analyses.CodeQuality, + actionsUtil.fixCodeQualityCategory(logger, category), + ); + if (qualityUploadResult !== undefined) { + uploadResults[analyses.AnalysisKind.CodeQuality] = qualityUploadResult; + } } return uploadResults;