fix: 收敛 NC01 Tekton 服务构建为矩阵任务

This commit is contained in:
root
2026-07-17 13:13:31 +02:00
parent 7b3c53dde8
commit b45bd6181d
3 changed files with 36 additions and 2736 deletions
+5 -8
View File
@@ -355,20 +355,17 @@ test("v02 render follows TypeScript runtime checks and does not self-patch boots
"hwlab-edge-proxy",
"hwlab-agent-skills"
];
for (let index = 0; index < retainedServiceIds.length; index += 1) {
const serviceId = retainedServiceIds[index];
const task = taskByName(pipelineJson, `build-${serviceId}`);
assert.deepEqual(task.runAfter, ["plan-artifacts"]);
assert.deepEqual(task.when, [{ input: `$(tasks.plan-artifacts.results.build-${serviceId})`, operator: "in", values: ["true"] }]);
}
const buildServices = taskByName(pipelineJson, "build-services");
assert.deepEqual(buildServices.runAfter, ["plan-artifacts"]);
assert.deepEqual(buildServices.matrix, { params: [{ name: "service-id", value: retainedServiceIds.map((id) => `hwlab-${id.replace(/^hwlab-/u, "")}`) }] });
const collectScript = collectArtifacts.taskSpec.steps[0].script;
assert.match(collectScript, /--external-service-report-dir \/workspace\/source\/service-results/u);
assert.ok(
taskByName(pipelineJson, "build-hwlab-cloud-web").taskSpec.results.some((result) => result.name === "go-base-image-status"),
buildServices.taskSpec.results.some((result) => result.name === "go-base-image-status"),
"build task should declare Go base evidence Tekton results so artifact-publish result files are collected"
);
const cloudWebBuildScript = taskByName(pipelineJson, "build-hwlab-cloud-web").taskSpec.steps.find((step) => step.name === "publish")?.script ?? "";
const cloudWebBuildScript = buildServices.taskSpec.steps.find((step) => step.name === "publish")?.script ?? "";
assert.match(cloudWebBuildScript, /node scripts\/artifact-publish\.mjs --publish/u);
const artifactPublishSource = await readFile("scripts/artifact-publish.mjs", "utf8");