展示首个evidence扩展候选
结论:release URL workflow 和 workflow overview 现在展示首个 evidence-expansion 候选 woodpecker-on-abort 的G-code路径与source count;promotion_allowed仍为0,baseline保持28/28/131/0,hard block不解锁。
This commit is contained in:
@@ -2844,6 +2844,10 @@ export function createProjectReleaseReadinessArtifactUrlWorkflowSummaryViewModel
|
||||
const promotionCandidateArtifactSummary = objectOrEmpty(workflow?.validation?.promotionCandidateArtifactSummary);
|
||||
const promotionCandidateArtifactSummaryReady =
|
||||
workflow?.validation?.promotionCandidateArtifactSummaryReady === true;
|
||||
const evidenceExpansionRows = arrayOrEmpty(
|
||||
workflow?.diagnosticsArtifact?.virtualHalSimConfigEvidenceExpansion?.rows,
|
||||
);
|
||||
const preferredEvidenceExpansion = evidenceExpansionRows[0] ?? {};
|
||||
const ready = workflow?.ready === true;
|
||||
const statusText = ready ? "Ready" : "Blocked";
|
||||
const detailText = ready
|
||||
@@ -2926,6 +2930,23 @@ export function createProjectReleaseReadinessArtifactUrlWorkflowSummaryViewModel
|
||||
? (promotionCandidateArtifactSummary.evidenceExpansion.baselineChanging ? "yes" : "no")
|
||||
: "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-preferred-candidate",
|
||||
label: "Evidence expansion preferred candidate",
|
||||
value: preferredEvidenceExpansion.id ?? "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-preferred-gcode",
|
||||
label: "Evidence expansion preferred G-code",
|
||||
value: preferredEvidenceExpansion.gcodePath ?? "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-preferred-source-count",
|
||||
label: "Evidence expansion preferred source count",
|
||||
value: Array.isArray(preferredEvidenceExpansion.sourceFiles)
|
||||
? `${preferredEvidenceExpansion.sourceFiles.length}`
|
||||
: "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-artifact",
|
||||
label: "Evidence expansion artifact",
|
||||
|
||||
@@ -2568,6 +2568,14 @@ export function createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWo
|
||||
?? {}
|
||||
);
|
||||
const evidenceExpansion = promotionCandidateArtifactSummary.evidenceExpansion ?? {};
|
||||
const evidenceExpansionRows = (
|
||||
workflow?.diagnosticsArtifact?.virtualHalSimConfigEvidenceExpansion?.rows
|
||||
?? workflow?.urlWorkflow?.diagnosticsArtifact?.virtualHalSimConfigEvidenceExpansion?.rows
|
||||
?? []
|
||||
);
|
||||
const preferredEvidenceExpansion = Array.isArray(evidenceExpansionRows)
|
||||
? (evidenceExpansionRows[0] ?? {})
|
||||
: {};
|
||||
const ready = workflow?.ready === true;
|
||||
const promotionFamilyRows = (
|
||||
workflow?.validation?.virtualHalPromotionFamilyRows
|
||||
@@ -2683,6 +2691,23 @@ export function createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWo
|
||||
? "yes"
|
||||
: (evidenceExpansion.baselineChanging === false ? "no" : "not provided"),
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-preferred-candidate",
|
||||
label: "Evidence expansion preferred candidate",
|
||||
value: preferredEvidenceExpansion.id ?? "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-preferred-gcode",
|
||||
label: "Evidence expansion preferred G-code",
|
||||
value: preferredEvidenceExpansion.gcodePath ?? "not provided",
|
||||
},
|
||||
{
|
||||
id: "evidence-expansion-preferred-source-count",
|
||||
label: "Evidence expansion preferred source count",
|
||||
value: Array.isArray(preferredEvidenceExpansion.sourceFiles)
|
||||
? `${preferredEvidenceExpansion.sourceFiles.length}`
|
||||
: "not provided",
|
||||
},
|
||||
{
|
||||
id: "hard-block-runtime-lock",
|
||||
label: "Hard-block runtime lock",
|
||||
|
||||
@@ -1009,6 +1009,21 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
"no",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion baseline unchanged",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-preferred-candidate")?.value,
|
||||
"woodpecker-on-abort",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion preferred candidate",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-preferred-gcode")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion preferred gcode",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-preferred-source-count")?.value,
|
||||
"3",
|
||||
"shell workflow overview release artifact URL workflow evidence expansion preferred source count",
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowRenderResult.rowIds.includes("hard-block-runtime-lock"),
|
||||
true,
|
||||
|
||||
@@ -660,6 +660,21 @@
|
||||
"no",
|
||||
"workflow overview release artifact URL workflow evidence expansion baseline unchanged",
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-preferred-candidate")?.value,
|
||||
"woodpecker-on-abort",
|
||||
"workflow overview release artifact URL workflow evidence expansion preferred candidate",
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-preferred-gcode")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc",
|
||||
"workflow overview release artifact URL workflow evidence expansion preferred gcode",
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-preferred-source-count")?.value,
|
||||
"3",
|
||||
"workflow overview release artifact URL workflow evidence expansion preferred source count",
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-artifact")?.value,
|
||||
"wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv",
|
||||
@@ -861,6 +876,21 @@
|
||||
"no",
|
||||
"workflow overview fixed URL workflow form evidence expansion baseline row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="evidence-expansion-preferred-candidate"]').textContent,
|
||||
"woodpecker-on-abort",
|
||||
"workflow overview fixed URL workflow form evidence expansion preferred candidate row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="evidence-expansion-preferred-gcode"]').textContent,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc",
|
||||
"workflow overview fixed URL workflow form evidence expansion preferred gcode row",
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="evidence-expansion-preferred-source-count"]').textContent,
|
||||
"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="virtual-hal-promotion-source-file-count"]').textContent,
|
||||
"17 source files",
|
||||
|
||||
@@ -210,6 +210,18 @@ assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-baseline-changing")?.value,
|
||||
"no",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-preferred-candidate")?.value,
|
||||
"woodpecker-on-abort",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-preferred-gcode")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-preferred-source-count")?.value,
|
||||
"3",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-artifact")?.value,
|
||||
"wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv",
|
||||
@@ -249,6 +261,9 @@ assert.deepEqual(
|
||||
["evidence-expansion-candidates", "13"],
|
||||
["evidence-expansion-next-evidence", "browser-diagnostics-binding"],
|
||||
["evidence-expansion-baseline-changing", "no"],
|
||||
["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-artifact", "wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv"],
|
||||
["promotion-candidate-allowed", "0"],
|
||||
...expectedPromotionFamilyRows,
|
||||
|
||||
@@ -499,6 +499,9 @@ assert.deepEqual(
|
||||
["evidence-expansion-candidates", "13"],
|
||||
["evidence-expansion-next-evidence", "browser-diagnostics-binding"],
|
||||
["evidence-expansion-baseline-changing", "no"],
|
||||
["evidence-expansion-preferred-candidate", "not provided"],
|
||||
["evidence-expansion-preferred-gcode", "not provided"],
|
||||
["evidence-expansion-preferred-source-count", "not provided"],
|
||||
["evidence-expansion-artifact", "wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv"],
|
||||
["promotion-candidate-allowed", "0"],
|
||||
...expectedPromotionFamilyRows,
|
||||
|
||||
@@ -1989,6 +1989,18 @@ assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-baseline-changing")?.value,
|
||||
"no",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-preferred-candidate")?.value,
|
||||
"woodpecker-on-abort",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-preferred-gcode")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "evidence-expansion-preferred-source-count")?.value,
|
||||
"3",
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "virtual-hal-promotion-candidate-baseline")?.value,
|
||||
"executed=28 passed=28 skipped=131 unexpected_fail=0",
|
||||
@@ -2649,7 +2661,7 @@ const releaseArtifactUrlWorkflowMountResult =
|
||||
rowsNode: releaseArtifactUrlWorkflowRowsNode,
|
||||
});
|
||||
assert.equal(releaseArtifactUrlWorkflowRenderResult.rendered, true);
|
||||
assert.equal(releaseArtifactUrlWorkflowRenderResult.rowCount, 29);
|
||||
assert.equal(releaseArtifactUrlWorkflowRenderResult.rowCount, 32);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("browser-diagnostics"),
|
||||
true,
|
||||
@@ -2670,12 +2682,24 @@ assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("evidence-expansion-baseline-changing"),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("evidence-expansion-preferred-candidate"),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("evidence-expansion-preferred-gcode"),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("evidence-expansion-preferred-source-count"),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("mount-result"),
|
||||
true,
|
||||
);
|
||||
assert.equal(releaseArtifactUrlWorkflowMountResult.ready, true);
|
||||
assert.equal(releaseArtifactUrlWorkflowMountResult.renderResult.rowCount, 29);
|
||||
assert.equal(releaseArtifactUrlWorkflowMountResult.renderResult.rowCount, 32);
|
||||
const releaseArtifactUrlWorkflowMissingDom = await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
|
||||
artifactUrl: "/project-release-readiness.json",
|
||||
fetchRef: async () => ({
|
||||
|
||||
Reference in New Issue
Block a user