























@@ -129,6 +129,9 @@ describe("scripts/lib/plugin-prerelease-test-plan.mjs", () => {
129129const pluginManifestScript = pluginPreflight.steps.find(
130130(step) => step.name === "Build plugin prerelease manifest",
131131).run;
132+const pluginManifestEnv = pluginPreflight.steps.find(
133+(step) => step.name === "Build plugin prerelease manifest",
134+).env;
132135const normalCiScript = releaseWorkflow.jobs.normal_ci.steps.find(
133136(step) => step.name === "Dispatch and monitor CI",
134137).run;
@@ -163,7 +166,7 @@ describe("scripts/lib/plugin-prerelease-test-plan.mjs", () => {
163166);
164167expect(normalCiScript).not.toContain("full_release_validation=true");
165168expect(pluginPrereleaseScript).toContain(
166-'dispatch_and_wait plugin-prerelease.yml -f target_ref="$TARGET_SHA" -f expected_sha="$TARGET_SHA"',
169+'dispatch_and_wait plugin-prerelease.yml -f target_ref="$TARGET_SHA" -f expected_sha="$TARGET_SHA" -f full_release_validation=true',
167170);
168171expect(pluginManifestScript).toContain("await import(");
169172expect(pluginManifestScript).toContain('"./scripts/lib/plugin-prerelease-test-plan.mjs"');
@@ -177,6 +180,19 @@ describe("scripts/lib/plugin-prerelease-test-plan.mjs", () => {
177180default: "main",
178181type: "string",
179182});
183+expect(pluginWorkflow.on.workflow_dispatch.inputs.full_release_validation).toMatchObject({
184+default: false,
185+type: "boolean",
186+});
187+expect(pluginManifestEnv).toMatchObject({
188+FULL_RELEASE_VALIDATION: "${{ inputs.full_release_validation && 'true' || 'false' }}",
189+});
190+expect(pluginManifestScript).toContain(
191+'const fullReleaseValidation = process.env.FULL_RELEASE_VALIDATION === "true";',
192+);
193+expect(pluginManifestScript).toContain(
194+"const runDocker = fullReleaseValidation && dockerLanes.length > 0;",
195+);
180196expect(pluginPreflight.outputs).toMatchObject({
181197checkout_revision: "${{ steps.manifest.outputs.checkout_revision }}",
182198plugin_prerelease_docker_lanes:
@@ -209,7 +225,7 @@ describe("scripts/lib/plugin-prerelease-test-plan.mjs", () => {
209225staticShard.steps.find((step) => step.name === "Run plugin prerelease static shard").run,
210226).toContain('bash -c "$PLUGIN_PRERELEASE_COMMAND"');
211227expect(dockerSuite).toMatchObject({
212-if: "needs.preflight.outputs.run_plugin_prerelease_docker == 'true'",
228+if: "${{ inputs.full_release_validation && needs.preflight.outputs.run_plugin_prerelease_docker == 'true' }}",
213229needs: ["preflight"],
214230uses: "./.github/workflows/openclaw-live-and-e2e-checks-reusable.yml",
215231with: {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。