fix: serialize v02 image publish tasks
This commit is contained in:
@@ -5,6 +5,12 @@ import os from "node:os";
|
||||
import path from "node:path";
|
||||
import test from "node:test";
|
||||
|
||||
function taskByName(pipeline, name) {
|
||||
const task = pipeline.spec.tasks.find((item) => item.name === name);
|
||||
assert.ok(task, `missing task ${name}`);
|
||||
return task;
|
||||
}
|
||||
|
||||
test("v02 render follows TypeScript runtime checks and does not self-patch bootstrap RBAC", async () => {
|
||||
const outDir = await mkdtemp(path.join(os.tmpdir(), "hwlab-v02-render-test-"));
|
||||
try {
|
||||
@@ -21,6 +27,7 @@ test("v02 render follows TypeScript runtime checks and does not self-patch boots
|
||||
assert.equal(render.status, 0, render.stderr || render.stdout);
|
||||
|
||||
const pipeline = await readFile(path.join(outDir, "tekton-v02", "pipeline.yaml"), "utf8");
|
||||
const pipelineJson = JSON.parse(pipeline);
|
||||
assert.match(pipeline, /127\.0\.0\.1:5000\/hwlab\/hwlab-ci-node-tools:node22-alpine-bun-v1/u);
|
||||
assert.match(pipeline, /node scripts\/run-bun\.mjs test cmd\/hwlab-codex-api-responses-forwarder\/main\.test\.ts/u);
|
||||
assert.doesNotMatch(pipeline, /cmd\/hwlab-codex-api-responses-forwarder\/main\.mjs/u);
|
||||
@@ -38,6 +45,24 @@ test("v02 render follows TypeScript runtime checks and does not self-patch boots
|
||||
assert.doesNotMatch(pipeline, new RegExp(`build-${serviceId}`, "u"));
|
||||
}
|
||||
|
||||
const retainedServiceIds = [
|
||||
"hwlab-cloud-api",
|
||||
"hwlab-cloud-web",
|
||||
"hwlab-agent-mgr",
|
||||
"hwlab-agent-worker",
|
||||
"hwlab-device-pod",
|
||||
"hwlab-gateway",
|
||||
"hwlab-edge-proxy",
|
||||
"hwlab-cli",
|
||||
"hwlab-agent-skills"
|
||||
];
|
||||
for (let index = 0; index < retainedServiceIds.length; index += 1) {
|
||||
const serviceId = retainedServiceIds[index];
|
||||
const task = taskByName(pipelineJson, `build-${serviceId}`);
|
||||
const expectedRunAfter = index === 0 ? ["plan-artifacts"] : [`build-${retainedServiceIds[index - 1]}`];
|
||||
assert.deepEqual(task.runAfter, expectedRunAfter);
|
||||
}
|
||||
|
||||
const workloads = await readFile(path.join(outDir, "runtime-v02", "workloads.yaml"), "utf8");
|
||||
const services = await readFile(path.join(outDir, "runtime-v02", "services.yaml"), "utf8");
|
||||
for (const serviceId of removedServiceIds) {
|
||||
|
||||
Reference in New Issue
Block a user