From 2adcb6464ed1599265239c021cb981d575008218 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Thu, 12 Feb 2026 00:13:22 +0000 Subject: [PATCH] Add `BasePayload` type and derive `AssessmentPayload` from it --- lib/analyze-action.js | 2 +- lib/init-action-post.js | 2 +- lib/upload-lib.js | 2 +- lib/upload-sarif-action.js | 2 +- src/analyses.ts | 10 +++++++--- src/upload-lib.ts | 4 ++-- src/upload-lib/types.ts | 9 ++++++--- 7 files changed, 19 insertions(+), 12 deletions(-) diff --git a/lib/analyze-action.js b/lib/analyze-action.js index 248b2547b..a22217bb2 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -106515,7 +106515,7 @@ function addAssessmentId(payload) { getRequiredEnvParam("CODEQL_ACTION_CSRA_ASSESSMENT_ID"), 10 ); - return { ...payload, assessment_id: assessmentId }; + return { sarif: payload.sarif, assessment_id: assessmentId }; } var CSRA = { kind: "csra" /* CSRA */, diff --git a/lib/init-action-post.js b/lib/init-action-post.js index 7a2299e72..e19a9678c 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -164574,7 +164574,7 @@ function addAssessmentId(payload) { getRequiredEnvParam("CODEQL_ACTION_CSRA_ASSESSMENT_ID"), 10 ); - return { ...payload, assessment_id: assessmentId }; + return { sarif: payload.sarif, assessment_id: assessmentId }; } var CSRA = { kind: "csra" /* CSRA */, diff --git a/lib/upload-lib.js b/lib/upload-lib.js index 9cd6a38fc..53c52c219 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -106170,7 +106170,7 @@ function addAssessmentId(payload) { getRequiredEnvParam("CODEQL_ACTION_CSRA_ASSESSMENT_ID"), 10 ); - return { ...payload, assessment_id: assessmentId }; + return { sarif: payload.sarif, assessment_id: assessmentId }; } var CSRA = { kind: "csra" /* CSRA */, diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index 0a77cdfd0..c8994877d 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -106208,7 +106208,7 @@ function addAssessmentId(payload) { getRequiredEnvParam("CODEQL_ACTION_CSRA_ASSESSMENT_ID"), 10 ); - return { ...payload, assessment_id: assessmentId }; + return { sarif: payload.sarif, assessment_id: assessmentId }; } var CSRA = { kind: "csra" /* CSRA */, diff --git a/src/analyses.ts b/src/analyses.ts index 9f2b2bbf3..ce7f10158 100644 --- a/src/analyses.ts +++ b/src/analyses.ts @@ -4,7 +4,11 @@ import { getRequiredInput, } from "./actions-util"; import { Logger } from "./logging"; -import { AssessmentPayload, UploadPayload } from "./upload-lib/types"; +import { + AssessmentPayload, + BasePayload, + UploadPayload, +} from "./upload-lib/types"; import { ConfigurationError, getRequiredEnvParam } from "./util"; export enum AnalysisKind { @@ -148,7 +152,7 @@ export interface AnalysisConfig { /** A prefix for environment variables used to track the uniqueness of SARIF uploads. */ sentinelPrefix: string; /** Transforms the upload payload in an analysis-specific way. */ - transformPayload: (payload: UploadPayload) => UploadPayload; + transformPayload: (payload: UploadPayload) => BasePayload; } // Represents the Code Scanning analysis configuration. @@ -187,7 +191,7 @@ function addAssessmentId(payload: UploadPayload): AssessmentPayload { getRequiredEnvParam("CODEQL_ACTION_CSRA_ASSESSMENT_ID"), 10, ); - return { ...payload, assessment_id: assessmentId }; + return { sarif: payload.sarif, assessment_id: assessmentId }; } export const CSRA: AnalysisConfig = { diff --git a/src/upload-lib.ts b/src/upload-lib.ts index f5c6366ab..43039c596 100644 --- a/src/upload-lib.ts +++ b/src/upload-lib.ts @@ -21,7 +21,7 @@ import * as gitUtils from "./git-utils"; import { initCodeQL } from "./init"; import { Logger } from "./logging"; import { getRepositoryNwo, RepositoryNwo } from "./repository"; -import { UploadPayload } from "./upload-lib/types"; +import { BasePayload, UploadPayload } from "./upload-lib/types"; import * as util from "./util"; import { ConfigurationError, @@ -327,7 +327,7 @@ function getAutomationID( * This is exported for testing purposes only. */ export async function uploadPayload( - payload: UploadPayload, + payload: BasePayload, repositoryNwo: RepositoryNwo, logger: Logger, analysis: analyses.AnalysisConfig, diff --git a/src/upload-lib/types.ts b/src/upload-lib/types.ts index d04ed1c6b..64480a4fc 100644 --- a/src/upload-lib/types.ts +++ b/src/upload-lib/types.ts @@ -1,9 +1,12 @@ -export interface UploadPayload { +export interface BasePayload { + sarif: string; +} + +export interface UploadPayload extends BasePayload { commit_oid: string; ref: string; analysis_key?: string; analysis_name?: string; - sarif: string; workflow_run_id: number; workflow_run_attempt: number; checkout_uri: string; @@ -14,6 +17,6 @@ export interface UploadPayload { base_sha?: string; } -export interface AssessmentPayload extends UploadPayload { +export interface AssessmentPayload extends BasePayload { assessment_id: number; }