Rename UploadTarget to AnalysisConfig

This commit is contained in:
Michael B. Gale
2025-08-28 16:53:34 +01:00
parent ca7dd4ad38
commit 01627081ff
10 changed files with 47 additions and 47 deletions

View File

@@ -48,25 +48,25 @@ export enum SARIF_UPLOAD_ENDPOINT {
CODE_QUALITY = "PUT /repos/:owner/:repo/code-quality/analysis",
}
// Represents configurations for different services that we can upload SARIF to.
export interface UploadTarget {
// Represents configurations for different analysis kinds.
export interface AnalysisConfig {
name: string;
target: SARIF_UPLOAD_ENDPOINT;
sarifPredicate: (name: string) => boolean;
sentinelPrefix: string;
}
// Represents the Code Scanning upload target.
export const CodeScanningTarget: UploadTarget = {
// Represents the Code Scanning analysis configuration.
export const CodeScanning: AnalysisConfig = {
name: "code scanning",
target: SARIF_UPLOAD_ENDPOINT.CODE_SCANNING,
sarifPredicate: (name) =>
name.endsWith(".sarif") && !CodeQualityTarget.sarifPredicate(name),
name.endsWith(".sarif") && !CodeQuality.sarifPredicate(name),
sentinelPrefix: "CODEQL_UPLOAD_SARIF_",
};
// Represents the Code Quality upload target.
export const CodeQualityTarget: UploadTarget = {
// Represents the Code Quality analysis configuration.
export const CodeQuality: AnalysisConfig = {
name: "code quality",
target: SARIF_UPLOAD_ENDPOINT.CODE_QUALITY,
sarifPredicate: (name) => name.endsWith(".quality.sarif"),

View File

@@ -333,7 +333,7 @@ async function run() {
actionsUtil.getOptionalInput("category"),
features,
logger,
analyses.CodeScanningTarget,
analyses.CodeScanning,
);
core.setOutput("sarif-id", uploadResult.sarifID);
@@ -347,7 +347,7 @@ async function run() {
),
features,
logger,
analyses.CodeQualityTarget,
analyses.CodeQuality,
);
core.setOutput("quality-sarif-id", qualityUploadResult.sarifID);
}

View File

@@ -4,7 +4,7 @@ import * as core from "@actions/core";
import * as github from "@actions/github";
import * as actionsUtil from "./actions-util";
import { CodeScanningTarget } from "./analyses";
import { CodeScanning } from "./analyses";
import { getApiClient } from "./api-client";
import { CodeQL, getCodeQL } from "./codeql";
import { Config } from "./config-utils";
@@ -105,7 +105,7 @@ async function maybeUploadFailedSarif(
category,
features,
logger,
CodeScanningTarget,
CodeScanning,
);
await uploadLib.waitForProcessing(
repositoryNwo,

View File

@@ -3,7 +3,7 @@ import * as path from "path";
import test from "ava";
import { CodeQualityTarget, CodeScanningTarget } from "./analyses";
import { CodeQuality, CodeScanning } from "./analyses";
import { getRunnerLogger, Logger } from "./logging";
import { setupTests } from "./testing-utils";
import * as uploadLib from "./upload-lib";
@@ -129,7 +129,7 @@ test("finding SARIF files", async (t) => {
const sarifFiles = uploadLib.findSarifFilesInDir(
tmpDir,
CodeScanningTarget.sarifPredicate,
CodeScanning.sarifPredicate,
);
t.deepEqual(sarifFiles, [
@@ -141,7 +141,7 @@ test("finding SARIF files", async (t) => {
const qualitySarifFiles = uploadLib.findSarifFilesInDir(
tmpDir,
CodeQualityTarget.sarifPredicate,
CodeQuality.sarifPredicate,
);
t.deepEqual(qualitySarifFiles, [
@@ -336,7 +336,7 @@ test("validateUniqueCategory with different prefixes", (t) => {
t.notThrows(() =>
uploadLib.validateUniqueCategory(
createMockSarif(),
CodeQualityTarget.sentinelPrefix,
CodeQuality.sentinelPrefix,
),
);
});

View File

@@ -621,7 +621,7 @@ export async function uploadFiles(
category: string | undefined,
features: FeatureEnablement,
logger: Logger,
uploadTarget: analyses.UploadTarget,
uploadTarget: analyses.AnalysisConfig,
): Promise<UploadResult> {
const sarifPaths = getSarifFilePaths(
inputSarifPath,
@@ -647,7 +647,7 @@ export async function uploadSpecifiedFiles(
category: string | undefined,
features: FeatureEnablement,
logger: Logger,
uploadTarget: analyses.UploadTarget = analyses.CodeScanningTarget,
uploadTarget: analyses.AnalysisConfig = analyses.CodeScanning,
): Promise<UploadResult> {
logger.startGroup(`Uploading ${uploadTarget.name} results`);
logger.info(`Processing sarif files: ${JSON.stringify(sarifPaths)}`);
@@ -913,7 +913,7 @@ function handleProcessingResultForUnsuccessfulExecution(
export function validateUniqueCategory(
sarif: SarifFile,
sentinelPrefix: string = analyses.CodeScanningTarget.sentinelPrefix,
sentinelPrefix: string = analyses.CodeScanning.sentinelPrefix,
): void {
// duplicate categories are allowed in the same sarif file
// but not across multiple sarif files

View File

@@ -96,7 +96,7 @@ async function run() {
category,
features,
logger,
analyses.CodeScanningTarget,
analyses.CodeScanning,
);
core.setOutput("sarif-id", uploadResult.sarifID);
@@ -106,7 +106,7 @@ async function run() {
if (fs.lstatSync(sarifPath).isDirectory()) {
const qualitySarifFiles = upload_lib.findSarifFilesInDir(
sarifPath,
analyses.CodeQualityTarget.sarifPredicate,
analyses.CodeQuality.sarifPredicate,
);
if (qualitySarifFiles.length !== 0) {
@@ -116,7 +116,7 @@ async function run() {
actionsUtil.fixCodeQualityCategory(logger, category),
features,
logger,
analyses.CodeQualityTarget,
analyses.CodeQuality,
);
}
}