feat(cicd): add bounded pipeline evidence

This commit is contained in:
Codex
2026-07-04 02:40:43 +00:00
parent bc681eddf8
commit 3886bbbb2c
13 changed files with 264 additions and 1 deletions
@@ -145,10 +145,12 @@ function compactNativePayload(payload) {
gitMirror: compactGitMirror(value.gitMirror),
reuseConfig: compactReuseConfig(value.reuseConfig),
tekton: compactTekton(value.tekton),
pipeline: compactPipeline(value.pipeline),
taskRuns: compactTaskRuns(value.taskRuns),
planArtifacts: compactPlanArtifacts(value.planArtifacts),
argo: compactArgo(value.argo),
runtime: compactRuntime(value.runtime),
refreshEvidence: compactRefreshEvidence(recordOrNull(recordOrNull(value.nativeCapabilities)?.controlPlaneRefresh)),
errors: arrayStrings(value.errors).slice(0, 5),
statusAuthority: stringOrNull(value.statusAuthority),
parsedDownstreamCliOutput: false,
@@ -200,6 +202,7 @@ function compactTekton(tekton) {
if (value === null) return null;
return {
name: stringOrNull(value.name),
pipelineRefName: stringOrNull(value.pipelineRefName),
succeeded: value.succeeded === true ? true : value.succeeded === false ? false : null,
reason: stringOrNull(value.reason),
startTime: stringOrNull(value.startTime),
@@ -208,6 +211,33 @@ function compactTekton(tekton) {
};
}
function compactPipeline(pipeline) {
const value = recordOrNull(pipeline);
if (value === null) return null;
return {
metadata: recordOrNull(value.metadata),
spec: recordOrNull(value.spec),
};
}
function compactRefreshEvidence(refresh) {
const value = recordOrNull(refresh);
const summary = recordOrNull(value?.summary);
if (value === null || summary === null) return null;
return {
jobName: stringOrNull(value.jobName) ?? stringOrNull(summary.jobName),
namespace: stringOrNull(value.namespace) ?? stringOrNull(summary.namespace),
status: stringOrNull(summary.status),
pipeline: stringOrNull(summary.pipeline),
sourceCommit: stringOrNull(summary.sourceCommit),
sourceStageRef: stringOrNull(summary.sourceStageRef),
elapsedMs: numberOrNull(summary.elapsedMs),
sourceAuthority: stringOrNull(summary.sourceAuthority),
statusAuthority: stringOrNull(summary.statusAuthority),
parsedDownstreamCliOutput: false,
};
}
function compactArgo(argo) {
const value = recordOrNull(argo);
if (value === null) return null;