mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 09:30:43 +00:00
ci: speed up full release validation
This commit is contained in:
@@ -331,6 +331,12 @@ describe("package artifact reuse", () => {
|
||||
);
|
||||
expect(workflow).toContain("suite_id: native-live-src-gateway-core");
|
||||
expect(workflow).toContain("suite_id: native-live-src-gateway-backends");
|
||||
expect(workflow).toContain("suite_id: native-live-src-gateway-profiles-anthropic-smoke");
|
||||
expect(workflow).toContain("suite_id: native-live-src-gateway-profiles-anthropic-opus");
|
||||
expect(workflow).toContain("suite_id: native-live-src-gateway-profiles-anthropic-sonnet-haiku");
|
||||
expect(workflow).toContain("suite_group: native-live-src-gateway-profiles-anthropic");
|
||||
expect(workflow).toContain("anthropic/claude-opus-4-7,anthropic/claude-opus-4-6");
|
||||
expect(workflow).toContain("anthropic/claude-sonnet-4-6,anthropic/claude-haiku-4-5");
|
||||
expect(workflow).toContain("suite_id: native-live-src-gateway-profiles-deepseek");
|
||||
expect(workflow).toContain("suite_id: native-live-src-gateway-profiles-opencode-go");
|
||||
expect(workflow).toContain("suite_id: native-live-src-gateway-profiles-openrouter");
|
||||
@@ -366,6 +372,9 @@ describe("package artifact reuse", () => {
|
||||
expect(workflow).toContain("OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS=openai,openrouter,xai");
|
||||
expect(workflow).toContain("suite_group: native-live-src-gateway-profiles-opencode-go");
|
||||
expect(workflow).toContain("opencode-go/mimo-v2-omni");
|
||||
expect(workflow).toContain(
|
||||
"inputs.live_suite_filter == 'native-live-src-gateway-profiles-anthropic'",
|
||||
);
|
||||
expect(workflow).toContain(
|
||||
"inputs.live_suite_filter == 'native-live-src-gateway-profiles-opencode-go'",
|
||||
);
|
||||
@@ -558,18 +567,36 @@ describe("package artifact reuse", () => {
|
||||
|
||||
it("runs full release children from the trusted workflow ref", () => {
|
||||
const workflow = readFileSync(FULL_RELEASE_VALIDATION_WORKFLOW, "utf8");
|
||||
const preparePackageJob = workflowJob(
|
||||
FULL_RELEASE_VALIDATION_WORKFLOW,
|
||||
"prepare_release_package",
|
||||
);
|
||||
const npmTelegramJob = workflowJob(FULL_RELEASE_VALIDATION_WORKFLOW, "npm_telegram");
|
||||
const dispatchStep = workflowStep(npmTelegramJob, "Dispatch and monitor npm Telegram E2E");
|
||||
|
||||
expect(workflow).toContain("CHILD_WORKFLOW_REF: ${{ github.ref_name }}");
|
||||
expect(workflow).toContain('gh workflow run "$workflow" --ref "$CHILD_WORKFLOW_REF" "$@"');
|
||||
expect(preparePackageJob.name).toBe("Prepare release package artifact");
|
||||
expect(preparePackageJob.needs).toEqual(["resolve_target"]);
|
||||
expect(preparePackageJob.if).toContain("inputs.rerun_group == 'all'");
|
||||
expect(preparePackageJob.if).toContain("inputs.release_profile == 'full'");
|
||||
expectTextToIncludeAll(
|
||||
workflowStep(preparePackageJob, "Resolve release package artifact").run,
|
||||
[
|
||||
"scripts/resolve-openclaw-package-candidate.mjs",
|
||||
"--source ref",
|
||||
'--package-ref "$PACKAGE_REF"',
|
||||
"release-package-under-test",
|
||||
],
|
||||
);
|
||||
expect(npmTelegramJob.name).toBe("Run package Telegram E2E");
|
||||
expect(npmTelegramJob.needs).toEqual(["resolve_target", "release_checks"]);
|
||||
expect(npmTelegramJob.needs).toEqual(["resolve_target", "prepare_release_package"]);
|
||||
expect(npmTelegramJob.if).toContain(
|
||||
"inputs.rerun_group == 'all' && inputs.release_profile == 'full'",
|
||||
);
|
||||
expect(dispatchStep.env).toMatchObject({
|
||||
RELEASE_CHECKS_RUN_ID: "${{ needs.release_checks.outputs.run_id }}",
|
||||
PACKAGE_ARTIFACT_NAME: "${{ needs.prepare_release_package.outputs.artifact_name }}",
|
||||
PREPARE_PACKAGE_RESULT: "${{ needs.prepare_release_package.result }}",
|
||||
TARGET_SHA: "${{ needs.resolve_target.outputs.sha }}",
|
||||
});
|
||||
expectTextToIncludeAll(dispatchStep.run, [
|
||||
@@ -577,8 +604,8 @@ describe("package artifact reuse", () => {
|
||||
'-f harness_ref="$TARGET_SHA"',
|
||||
'args=(-f package_spec="${PACKAGE_SPEC:-openclaw@beta}"',
|
||||
'if [[ -z "${PACKAGE_SPEC// }" ]]; then',
|
||||
"-f package_artifact_name=release-package-under-test",
|
||||
'-f package_artifact_run_id="$RELEASE_CHECKS_RUN_ID"',
|
||||
'-f package_artifact_name="$PACKAGE_ARTIFACT_NAME"',
|
||||
'-f package_artifact_run_id="${GITHUB_RUN_ID}"',
|
||||
'-f package_label="full-release-${TARGET_SHA:0:12}"',
|
||||
'args+=(-f scenario="$SCENARIO")',
|
||||
]);
|
||||
@@ -602,7 +629,7 @@ describe("package artifact reuse", () => {
|
||||
|
||||
expectTextToIncludeAll(workflow, [
|
||||
"Published-package Telegram E2E:",
|
||||
"Package Telegram E2E: release package artifact from \\`OpenClaw Release Checks\\`",
|
||||
"Package Telegram E2E: parent \\`release-package-under-test\\` artifact",
|
||||
"Package Telegram E2E: skipped unless \\`release_profile=full\\` or \\`npm_telegram_package_spec\\` is provided",
|
||||
]);
|
||||
expect(releaseDocs).toContain(
|
||||
|
||||
Reference in New Issue
Block a user