新增 OPFS session 独立 browser workflow gate
This commit is contained in:
@@ -19,7 +19,7 @@ const manifest = createProjectReleaseGateManifest();
|
||||
|
||||
assert.equal(manifest.apiName, "project-release-gate-manifest");
|
||||
assert.equal(manifest.manifestVersion, 1);
|
||||
assert.equal(manifest.gateCount, 10);
|
||||
assert.equal(manifest.gateCount, 11);
|
||||
assert.deepEqual(manifest.gateIds, [
|
||||
"diff-check",
|
||||
"vendor-sync",
|
||||
@@ -27,6 +27,7 @@ assert.deepEqual(manifest.gateIds, [
|
||||
"interp-wasm",
|
||||
"sim-config-inventory",
|
||||
"ini-panel-browser",
|
||||
"opfs-session-browser",
|
||||
"release-artifact-url-browser",
|
||||
"ui-node-smokes",
|
||||
"host-smokes",
|
||||
@@ -41,6 +42,7 @@ assert.deepEqual(
|
||||
"interp_wasm_node_smoke=ok",
|
||||
"sim_configs_wasm_node_inventory_unexpected_fail=0",
|
||||
"browser_ini_shell_integration_workflow_smoke=ok",
|
||||
"browser_opfs_session_workflow_smoke=ok",
|
||||
"browser_release_artifact_url_workflow_smoke=ok",
|
||||
"ui_node_smokes=ok",
|
||||
"host_wasm_opfs_browser_smokes=ok",
|
||||
@@ -51,6 +53,10 @@ assert.equal(
|
||||
manifest.gates.find(({ id }) => id === "release-artifact-url-browser")?.command,
|
||||
"SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_release_artifact_url_workflow_browser.sh",
|
||||
);
|
||||
assert.equal(
|
||||
manifest.gates.find(({ id }) => id === "opfs-session-browser")?.command,
|
||||
"SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_opfs_session_workflow_browser.sh",
|
||||
);
|
||||
|
||||
const partialMatrix = createProjectReleaseGateResultMatrix({
|
||||
gateResults: {
|
||||
@@ -65,14 +71,15 @@ assert.equal(partialMatrix.apiName, "project-release-gate-result-matrix");
|
||||
assert.equal(partialMatrix.matrixVersion, 1);
|
||||
assert.equal(partialMatrix.phase, "waiting");
|
||||
assert.equal(partialMatrix.ready, false);
|
||||
assert.equal(partialMatrix.gateCount, 10);
|
||||
assert.equal(partialMatrix.gateCount, 11);
|
||||
assert.equal(partialMatrix.passedCount, 3);
|
||||
assert.equal(partialMatrix.unknownCount, 7);
|
||||
assert.equal(partialMatrix.unknownCount, 8);
|
||||
assert.deepEqual(partialMatrix.missingGateIds, [
|
||||
"standalone-cnc-semantics",
|
||||
"interp-wasm",
|
||||
"sim-config-inventory",
|
||||
"ini-panel-browser",
|
||||
"opfs-session-browser",
|
||||
"ui-node-smokes",
|
||||
"host-smokes",
|
||||
"project-release-gate",
|
||||
@@ -99,9 +106,9 @@ assert.equal(partialExecutionManifest.apiName, "project-release-gate-execution-m
|
||||
assert.equal(partialExecutionManifest.manifestVersion, 1);
|
||||
assert.equal(partialExecutionManifest.phase, "waiting");
|
||||
assert.equal(partialExecutionManifest.ready, false);
|
||||
assert.equal(partialExecutionManifest.gateCount, 10);
|
||||
assert.equal(partialExecutionManifest.gateCount, 11);
|
||||
assert.equal(partialExecutionManifest.passedCount, 3);
|
||||
assert.equal(partialExecutionManifest.unknownCount, 7);
|
||||
assert.equal(partialExecutionManifest.unknownCount, 8);
|
||||
assert.deepEqual(partialExecutionManifest.missingGateIds, partialMatrix.missingGateIds);
|
||||
assert.deepEqual(
|
||||
partialExecutionManifest.rows.filter(({ passed }) => passed).map(({ id, evidence }) => [id, evidence]),
|
||||
@@ -125,9 +132,9 @@ assert.equal(partialActionPlan.apiName, "project-release-gate-action-plan");
|
||||
assert.equal(partialActionPlan.planVersion, 1);
|
||||
assert.equal(partialActionPlan.phase, "waiting");
|
||||
assert.equal(partialActionPlan.ready, false);
|
||||
assert.equal(partialActionPlan.gateCount, 10);
|
||||
assert.equal(partialActionPlan.gateCount, 11);
|
||||
assert.equal(partialActionPlan.completedCount, 3);
|
||||
assert.equal(partialActionPlan.pendingCount, 7);
|
||||
assert.equal(partialActionPlan.pendingCount, 8);
|
||||
assert.deepEqual(partialActionPlan.completedGateIds, [
|
||||
"diff-check",
|
||||
"vendor-sync",
|
||||
@@ -138,13 +145,14 @@ assert.deepEqual(partialActionPlan.pendingGateIds, [
|
||||
"interp-wasm",
|
||||
"sim-config-inventory",
|
||||
"ini-panel-browser",
|
||||
"opfs-session-browser",
|
||||
"ui-node-smokes",
|
||||
"host-smokes",
|
||||
"project-release-gate",
|
||||
]);
|
||||
assert.equal(partialActionPlan.nextGateId, "standalone-cnc-semantics");
|
||||
assert.equal(partialActionPlan.nextCommand, "wasm-port/tools/verify_no_standalone_cnc_semantics.sh");
|
||||
assert.equal(partialActionPlan.commands.length, 7);
|
||||
assert.equal(partialActionPlan.commands.length, 8);
|
||||
assert.equal(partialActionPlan.commands[0].step, 1);
|
||||
assert.equal(partialActionPlan.commands[0].gateId, "standalone-cnc-semantics");
|
||||
assert.equal(partialActionPlan.rows[0].id, "standalone-cnc-semantics");
|
||||
@@ -179,7 +187,7 @@ assert.deepEqual(createProjectReleaseReadinessSummaryViewModel(report), {
|
||||
{
|
||||
id: "gate-results",
|
||||
label: "Release gates",
|
||||
value: "10/10 passed",
|
||||
value: "11/11 passed",
|
||||
},
|
||||
{
|
||||
id: "unknown-gates",
|
||||
@@ -245,7 +253,7 @@ assert.deepEqual(
|
||||
artifactValidationSummary.rows.map(({ id, value }) => [id, value]),
|
||||
[
|
||||
["artifact", "project-release-readiness-report"],
|
||||
["gate-count", "10/10"],
|
||||
["gate-count", "11/11"],
|
||||
["gate-manifest", "ready"],
|
||||
["gate-execution-manifest", "ready"],
|
||||
["gate-result-matrix", "ready"],
|
||||
|
||||
@@ -250,7 +250,7 @@ assert.deepEqual(releaseReadinessWaiting.missing, ["project-release-gate"]);
|
||||
assert.equal(releaseReadinessWaiting.simConfigInventory.unexpectedFail, 0);
|
||||
assert.deepEqual(releaseReadinessWaiting.promotedBlockedFamilies, []);
|
||||
assert.equal(releaseReadinessWaiting.gateActionPlan.apiName, "project-release-gate-action-plan");
|
||||
assert.equal(releaseReadinessWaiting.gateActionPlan.pendingCount, 10);
|
||||
assert.equal(releaseReadinessWaiting.gateActionPlan.pendingCount, createProjectReleaseGateManifest().gateCount);
|
||||
assert.equal(releaseReadinessWaiting.gateActionPlan.nextGateId, "diff-check");
|
||||
assert.equal(
|
||||
releaseReadinessWaiting.rows.find(({ id }) => id === "blocked-runtime-families")?.value,
|
||||
@@ -262,7 +262,7 @@ 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(releaseReadinessReady.gateResultMatrix.rows.length, createProjectReleaseGateManifest().gateCount);
|
||||
assert.equal(createProjectReleaseGateActionPlan({
|
||||
gateResultMatrix: releaseReadinessReady.gateResultMatrix,
|
||||
}).ready, false);
|
||||
@@ -277,18 +277,7 @@ assert.equal(
|
||||
true,
|
||||
);
|
||||
const releaseReadinessArtifact = parseProjectReleaseReadinessArtifactJson(JSON.stringify(createProjectReleaseReadinessReport({
|
||||
gateResults: {
|
||||
"diff-check": true,
|
||||
"vendor-sync": true,
|
||||
"standalone-cnc-semantics": true,
|
||||
"interp-wasm": true,
|
||||
"sim-config-inventory": true,
|
||||
"ini-panel-browser": true,
|
||||
"release-artifact-url-browser": true,
|
||||
"ui-node-smokes": true,
|
||||
"host-smokes": true,
|
||||
"project-release-gate": true,
|
||||
},
|
||||
gateResults: Object.fromEntries(createProjectReleaseGateManifest().gateIds.map((id) => [id, true])),
|
||||
})));
|
||||
assert.equal(releaseReadinessArtifact.apiName, "project-release-readiness-report");
|
||||
const releaseReadinessArtifactValidation = createProjectReleaseReadinessArtifactValidation(releaseReadinessArtifact);
|
||||
@@ -300,8 +289,8 @@ assert.deepEqual(releaseReadinessArtifactValidation, {
|
||||
missing: [],
|
||||
artifactApiName: "project-release-readiness-report",
|
||||
artifactVersion: 1,
|
||||
gateCount: 10,
|
||||
expectedGateCount: 10,
|
||||
gateCount: createProjectReleaseGateManifest().gateCount,
|
||||
expectedGateCount: createProjectReleaseGateManifest().gateCount,
|
||||
expectedGateIds: createProjectReleaseGateManifest().gateIds,
|
||||
gateManifestReady: true,
|
||||
gateExecutionManifestReady: true,
|
||||
|
||||
Reference in New Issue
Block a user