新增项目发布 gate result matrix API

This commit is contained in:
2026-06-16 10:37:57 +08:00
parent 343ad0acd6
commit 7f937bd56c
9 changed files with 160 additions and 21 deletions

View File

@@ -33,6 +33,7 @@ import {
createMachineSessionPersistenceRenderState,
createMachineSessionPersistenceSummary,
createProjectReleaseGateManifest,
createProjectReleaseGateResultMatrix,
createProjectReleaseReadinessArtifactValidation,
createProjectReleaseReadinessReport,
parseProjectReleaseReadinessArtifactJson,
@@ -85,6 +86,7 @@ const requiredExports = [
["createLinuxCncIniSdk", createLinuxCncIniSdk],
["createLinuxCncInterpSdk", createLinuxCncInterpSdk],
["createProjectReleaseGateManifest", createProjectReleaseGateManifest],
["createProjectReleaseGateResultMatrix", createProjectReleaseGateResultMatrix],
["createProjectReleaseReadinessArtifactValidation", createProjectReleaseReadinessArtifactValidation],
["createProjectReleaseReadinessReport", createProjectReleaseReadinessReport],
["parseProjectReleaseReadinessArtifactJson", parseProjectReleaseReadinessArtifactJson],
@@ -217,6 +219,13 @@ const releaseReadinessReady = createProjectReleaseReadinessReport({
assert.equal(releaseReadinessReady.ready, true);
assert.equal(releaseReadinessReady.releaseGate.passed, true);
assert.deepEqual(releaseReadinessReady.gateManifest, createProjectReleaseGateManifest());
assert.equal(releaseReadinessReady.gateResultMatrix.rows.length, 10);
assert.equal(
createProjectReleaseGateResultMatrix({
observedOutputs: ["project_release_gate=ok"],
}).rows.find(({ id }) => id === "project-release-gate")?.passed,
true,
);
const releaseReadinessArtifact = parseProjectReleaseReadinessArtifactJson(JSON.stringify(createProjectReleaseReadinessReport({
gateResults: {
"diff-check": true,