Merge pull request #1508 from pikasTech/fix/1499-hwlab-pipeline-evidence

feat: add bounded branch-follower pipeline evidence
This commit is contained in:
Lyon
2026-07-04 10:56:04 +08:00
committed by GitHub
13 changed files with 287 additions and 3 deletions
@@ -209,10 +209,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,
@@ -264,6 +266,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),
@@ -272,6 +275,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;