From 0e1ad534f339e0ff182e4bf235dd0fcb41c7b192 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Fri, 26 Sep 2025 14:02:53 +0100 Subject: [PATCH] Fix `sarif-ids` format not matching documentation --- .github/workflows/__upload-quality-sarif.yml | 2 +- lib/upload-sarif-action.js | 9 +++++---- pr-checks/checks/upload-quality-sarif.yml | 2 +- src/upload-sarif.ts | 11 ++++++----- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/workflows/__upload-quality-sarif.yml b/.github/workflows/__upload-quality-sarif.yml index d9bcbb20f..a14c2761b 100644 --- a/.github/workflows/__upload-quality-sarif.yml +++ b/.github/workflows/__upload-quality-sarif.yml @@ -89,7 +89,7 @@ jobs: ref: refs/heads/main sha: 5e235361806c361d4d3f8859e3c897658025a9a2 - name: Check output from `upload-sarif` step - if: fromJSON(steps.upload-sarif.outputs.sarif-ids)[0].analysis != 'code-quality' + if: !fromJSON(steps.upload-sarif.outputs.sarif-ids).code-quality run: exit 1 env: CODEQL_ACTION_TEST_MODE: true diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index befc44bfa..7232c358c 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -93475,10 +93475,11 @@ async function uploadSarif(logger, features, sarifPath, pathStats, checkoutPath, return uploadResults; } function uploadResultsToSarifIds(uploadResults) { - return Object.entries(uploadResults).map(([analysisKind, result]) => ({ - analysis: analysisKind, - id: result.sarifID - })); + const result = {}; + for (const uploadResult of Object.keys(uploadResults)) { + result[uploadResult] = uploadResults[uploadResult].id; + } + return result; } // src/upload-sarif-action.ts diff --git a/pr-checks/checks/upload-quality-sarif.yml b/pr-checks/checks/upload-quality-sarif.yml index cc4786735..ecf4a857b 100644 --- a/pr-checks/checks/upload-quality-sarif.yml +++ b/pr-checks/checks/upload-quality-sarif.yml @@ -22,5 +22,5 @@ steps: ref: 'refs/heads/main' sha: '5e235361806c361d4d3f8859e3c897658025a9a2' - name: "Check output from `upload-sarif` step" - if: fromJSON(steps.upload-sarif.outputs.sarif-ids)[0].analysis != 'code-quality' + if: !fromJSON(steps.upload-sarif.outputs.sarif-ids).code-quality run: exit 1 diff --git a/src/upload-sarif.ts b/src/upload-sarif.ts index 48854e58c..e0ac38def 100644 --- a/src/upload-sarif.ts +++ b/src/upload-sarif.ts @@ -101,9 +101,10 @@ export async function uploadSarif( export function uploadResultsToSarifIds( uploadResults: UploadSarifResults, -): UploadSarifResult[] { - return Object.entries(uploadResults).map(([analysisKind, result]) => ({ - analysis: analysisKind as analyses.AnalysisKind, - id: result.sarifID, - })); +): Partial> { + const result = {}; + for (const uploadResult of Object.keys(uploadResults)) { + result[uploadResult] = uploadResults[uploadResult].id; + } + return result; }