展示首批evidence扩展候选
结论:release URL workflow 和 workflow overview 现在展示首批3条 evidence-expansion 候选 woodpecker-on-abort、puma-cube、melfa-example 及其G-code/source count;baseline保持28/28/131/0,hard block不解锁。
This commit is contained in:
@@ -2848,6 +2848,7 @@ export function createProjectReleaseReadinessArtifactUrlWorkflowSummaryViewModel
|
||||
workflow?.diagnosticsArtifact?.virtualHalSimConfigEvidenceExpansion?.rows,
|
||||
);
|
||||
const preferredEvidenceExpansion = evidenceExpansionRows[0] ?? {};
|
||||
const evidenceExpansionPreviewRows = evidenceExpansionRows.slice(0, 3);
|
||||
const ready = workflow?.ready === true;
|
||||
const statusText = ready ? "Ready" : "Blocked";
|
||||
const detailText = ready
|
||||
@@ -2947,6 +2948,29 @@ export function createProjectReleaseReadinessArtifactUrlWorkflowSummaryViewModel
|
||||
? `${preferredEvidenceExpansion.sourceFiles.length}`
|
||||
: "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-candidate-list",
|
||||
label: "Evidence expansion candidate list",
|
||||
value: evidenceExpansionPreviewRows.length > 0
|
||||
? evidenceExpansionPreviewRows.map((row) => row.id).join(", ")
|
||||
: "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-gcode-list",
|
||||
label: "Evidence expansion G-code list",
|
||||
value: evidenceExpansionPreviewRows.length > 0
|
||||
? evidenceExpansionPreviewRows.map((row) => row.gcodePath).join(", ")
|
||||
: "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-source-count-list",
|
||||
label: "Evidence expansion source count list",
|
||||
value: evidenceExpansionPreviewRows.length > 0
|
||||
? evidenceExpansionPreviewRows.map((row) =>
|
||||
Array.isArray(row.sourceFiles) ? `${row.sourceFiles.length}` : "0"
|
||||
).join(", ")
|
||||
: "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-artifact",
|
||||
label: "Evidence expansion artifact",
|
||||
|
||||
@@ -2576,6 +2576,9 @@ export function createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWo
|
||||
const preferredEvidenceExpansion = Array.isArray(evidenceExpansionRows)
|
||||
? (evidenceExpansionRows[0] ?? {})
|
||||
: {};
|
||||
const evidenceExpansionPreviewRows = Array.isArray(evidenceExpansionRows)
|
||||
? evidenceExpansionRows.slice(0, 3)
|
||||
: [];
|
||||
const ready = workflow?.ready === true;
|
||||
const promotionFamilyRows = (
|
||||
workflow?.validation?.virtualHalPromotionFamilyRows
|
||||
@@ -2708,6 +2711,29 @@ export function createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWo
|
||||
? `${preferredEvidenceExpansion.sourceFiles.length}`
|
||||
: "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-candidate-list",
|
||||
label: "Evidence expansion candidate list",
|
||||
value: evidenceExpansionPreviewRows.length > 0
|
||||
? evidenceExpansionPreviewRows.map((row) => row.id).join(", ")
|
||||
: "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-gcode-list",
|
||||
label: "Evidence expansion G-code list",
|
||||
value: evidenceExpansionPreviewRows.length > 0
|
||||
? evidenceExpansionPreviewRows.map((row) => row.gcodePath).join(", ")
|
||||
: "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-source-count-list",
|
||||
label: "Evidence expansion source count list",
|
||||
value: evidenceExpansionPreviewRows.length > 0
|
||||
? evidenceExpansionPreviewRows.map((row) =>
|
||||
Array.isArray(row.sourceFiles) ? `${row.sourceFiles.length}` : "0"
|
||||
).join(", ")
|
||||
: "not provided",
|
||||
},
|
||||
{
|
||||
id: "hard-block-runtime-lock",
|
||||
label: "Hard-block runtime lock",
|
||||
|
||||
@@ -1024,6 +1024,21 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
"3",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion preferred source count",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-candidate-list")?.value,
|
||||
"woodpecker-on-abort, puma-cube, melfa-example",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion candidate list",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-gcode-list")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion gcode list",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-source-count-list")?.value,
|
||||
"3, 3, 3",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion source count list",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowRenderResult.rowIds.includes("hard-block-runtime-lock"),
|
||||
true,
|
||||
|
||||
@@ -675,6 +675,21 @@
|
||||
"3",
|
||||
"workflow overview release artifact URL workflow evidence expansion preferred source count",
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-candidate-list")?.value,
|
||||
"woodpecker-on-abort, puma-cube, melfa-example",
|
||||
"workflow overview release artifact URL workflow evidence expansion candidate list",
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-gcode-list")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc",
|
||||
"workflow overview release artifact URL workflow evidence expansion gcode list",
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-source-count-list")?.value,
|
||||
"3, 3, 3",
|
||||
"workflow overview release artifact URL workflow evidence expansion source count list",
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-artifact")?.value,
|
||||
"wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv",
|
||||
@@ -891,6 +906,21 @@
|
||||
"3",
|
||||
"workflow overview fixed URL workflow form evidence expansion preferred source count row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="evidence-expansion-candidate-list"]').textContent,
|
||||
"woodpecker-on-abort, puma-cube, melfa-example",
|
||||
"workflow overview fixed URL workflow form evidence expansion candidate list row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="evidence-expansion-gcode-list"]').textContent,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc",
|
||||
"workflow overview fixed URL workflow form evidence expansion gcode list row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="evidence-expansion-source-count-list"]').textContent,
|
||||
"3, 3, 3",
|
||||
"workflow overview fixed URL workflow form evidence expansion source count list row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="virtual-hal-promotion-source-file-count"]').textContent,
|
||||
"17 source files",
|
||||
|
||||
@@ -222,6 +222,18 @@ assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-preferred-source-count")?.value,
|
||||
"3",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-candidate-list")?.value,
|
||||
"woodpecker-on-abort, puma-cube, melfa-example",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-gcode-list")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-source-count-list")?.value,
|
||||
"3, 3, 3",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-artifact")?.value,
|
||||
"wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv",
|
||||
@@ -264,6 +276,9 @@ assert.deepEqual(
|
||||
["evidence-expansion-preferred-candidate", "woodpecker-on-abort"],
|
||||
["evidence-expansion-preferred-gcode", "linuxcnc/configs/sim/woodpecker/on_abort.ngc"],
|
||||
["evidence-expansion-preferred-source-count", "3"],
|
||||
["evidence-expansion-candidate-list", "woodpecker-on-abort, puma-cube, melfa-example"],
|
||||
["evidence-expansion-gcode-list", "linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc"],
|
||||
["evidence-expansion-source-count-list", "3, 3, 3"],
|
||||
["evidence-expansion-artifact", "wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv"],
|
||||
["promotion-candidate-allowed", "0"],
|
||||
...expectedPromotionFamilyRows,
|
||||
|
||||
@@ -502,6 +502,9 @@ assert.deepEqual(
|
||||
["evidence-expansion-preferred-candidate", "not provided"],
|
||||
["evidence-expansion-preferred-gcode", "not provided"],
|
||||
["evidence-expansion-preferred-source-count", "not provided"],
|
||||
["evidence-expansion-candidate-list", "not provided"],
|
||||
["evidence-expansion-gcode-list", "not provided"],
|
||||
["evidence-expansion-source-count-list", "not provided"],
|
||||
["evidence-expansion-artifact", "wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv"],
|
||||
["promotion-candidate-allowed", "0"],
|
||||
...expectedPromotionFamilyRows,
|
||||
|
||||
@@ -2001,6 +2001,18 @@ assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-preferred-source-count")?.value,
|
||||
"3",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-candidate-list")?.value,
|
||||
"woodpecker-on-abort, puma-cube, melfa-example",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-gcode-list")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-source-count-list")?.value,
|
||||
"3, 3, 3",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "virtual-hal-promotion-candidate-baseline")?.value,
|
||||
"executed=28 passed=28 skipped=131 unexpected_fail=0",
|
||||
@@ -2661,7 +2673,7 @@ const releaseArtifactUrlWorkflowMountResult =
|
||||
rowsNode: releaseArtifactUrlWorkflowRowsNode,
|
||||
});
|
||||
assert.equal(releaseArtifactUrlWorkflowRenderResult.rendered, true);
|
||||
assert.equal(releaseArtifactUrlWorkflowRenderResult.rowCount, 32);
|
||||
assert.equal(releaseArtifactUrlWorkflowRenderResult.rowCount, 35);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("browser-diagnostics"),
|
||||
true,
|
||||
@@ -2694,12 +2706,24 @@ assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("evidence-expansion-preferred-source-count"),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("evidence-expansion-candidate-list"),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("evidence-expansion-gcode-list"),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("evidence-expansion-source-count-list"),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("mount-result"),
|
||||
true,
|
||||
);
|
||||
assert.equal(releaseArtifactUrlWorkflowMountResult.ready, true);
|
||||
assert.equal(releaseArtifactUrlWorkflowMountResult.renderResult.rowCount, 32);
|
||||
assert.equal(releaseArtifactUrlWorkflowMountResult.renderResult.rowCount, 35);
|
||||
const releaseArtifactUrlWorkflowMissingDom = await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
|
||||
artifactUrl: "/project-release-readiness.json",
|
||||
fetchRef: async () => ({
|
||||
|
||||
Reference in New Issue
Block a user