diff --git a/.github/workflows/openclaw-release-checks.yml b/.github/workflows/openclaw-release-checks.yml index d82041b12ee..defe77c1be8 100644 --- a/.github/workflows/openclaw-release-checks.yml +++ b/.github/workflows/openclaw-release-checks.yml @@ -326,8 +326,9 @@ jobs: OPENCLAW_DISCORD_SMOKE_GUILD_ID: ${{ secrets.OPENCLAW_DISCORD_SMOKE_GUILD_ID }} OPENCLAW_DISCORD_SMOKE_CHANNEL_ID: ${{ secrets.OPENCLAW_DISCORD_SMOKE_CHANNEL_ID }} - live_and_e2e_release_checks: - needs: [resolve_target, prepare_release_package] + live_repo_e2e_release_checks: + name: Run repo/live E2E validation + needs: [resolve_target] if: contains(fromJSON('["all","live-e2e"]'), needs.resolve_target.outputs.rerun_group) permissions: actions: read @@ -338,13 +339,11 @@ jobs: with: ref: ${{ needs.resolve_target.outputs.revision }} include_repo_e2e: true - include_release_path_suites: true - include_openwebui: ${{ needs.resolve_target.outputs.release_profile != 'minimum' }} + include_release_path_suites: false + include_openwebui: false include_live_suites: true release_test_profile: ${{ needs.resolve_target.outputs.release_profile }} - package_artifact_name: ${{ needs.prepare_release_package.outputs.artifact_name }} - package_artifact_run_id: ${{ github.run_id }} - secrets: + secrets: &live_e2e_release_secrets OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }} ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} @@ -391,6 +390,27 @@ jobs: OPENCLAW_GEMINI_SETTINGS_JSON: ${{ secrets.OPENCLAW_GEMINI_SETTINGS_JSON }} FIREWORKS_API_KEY: ${{ secrets.FIREWORKS_API_KEY }} + docker_e2e_release_checks: + name: Run Docker release-path validation + needs: [resolve_target, prepare_release_package] + if: contains(fromJSON('["all","live-e2e"]'), needs.resolve_target.outputs.rerun_group) + permissions: + actions: read + contents: read + packages: write + pull-requests: read + uses: ./.github/workflows/openclaw-live-and-e2e-checks-reusable.yml + with: + ref: ${{ needs.resolve_target.outputs.revision }} + include_repo_e2e: false + include_release_path_suites: true + include_openwebui: ${{ needs.resolve_target.outputs.release_profile != 'minimum' }} + include_live_suites: false + release_test_profile: ${{ needs.resolve_target.outputs.release_profile }} + package_artifact_name: ${{ needs.prepare_release_package.outputs.artifact_name }} + package_artifact_run_id: ${{ github.run_id }} + secrets: *live_e2e_release_secrets + package_acceptance_release_checks: name: Run package acceptance needs: [resolve_target, prepare_release_package] @@ -772,7 +792,8 @@ jobs: - prepare_release_package - install_smoke_release_checks - cross_os_release_checks - - live_and_e2e_release_checks + - live_repo_e2e_release_checks + - docker_e2e_release_checks - package_acceptance_release_checks - qa_lab_parity_lane_release_checks - qa_lab_parity_report_release_checks @@ -792,7 +813,8 @@ jobs: "prepare_release_package=${{ needs.prepare_release_package.result }}" \ "install_smoke_release_checks=${{ needs.install_smoke_release_checks.result }}" \ "cross_os_release_checks=${{ needs.cross_os_release_checks.result }}" \ - "live_and_e2e_release_checks=${{ needs.live_and_e2e_release_checks.result }}" \ + "live_repo_e2e_release_checks=${{ needs.live_repo_e2e_release_checks.result }}" \ + "docker_e2e_release_checks=${{ needs.docker_e2e_release_checks.result }}" \ "package_acceptance_release_checks=${{ needs.package_acceptance_release_checks.result }}" \ "qa_lab_parity_lane_release_checks=${{ needs.qa_lab_parity_lane_release_checks.result }}" \ "qa_lab_parity_report_release_checks=${{ needs.qa_lab_parity_report_release_checks.result }}" \ diff --git a/test/scripts/package-acceptance-workflow.test.ts b/test/scripts/package-acceptance-workflow.test.ts index a558236ecb8..ff223af7518 100644 --- a/test/scripts/package-acceptance-workflow.test.ts +++ b/test/scripts/package-acceptance-workflow.test.ts @@ -235,8 +235,13 @@ describe("package artifact reuse", () => { expect(workflow).toContain("package_acceptance_release_checks:"); expect(workflow).toContain( - 'live_and_e2e_release_checks:\n needs: [resolve_target, prepare_release_package]\n if: contains(fromJSON(\'["all","live-e2e"]\'), needs.resolve_target.outputs.rerun_group)', + "live_repo_e2e_release_checks:\n name: Run repo/live E2E validation\n needs: [resolve_target]", ); + expect(workflow).toContain( + "docker_e2e_release_checks:\n name: Run Docker release-path validation\n needs: [resolve_target, prepare_release_package]", + ); + expect(workflow).toContain("include_release_path_suites: false"); + expect(workflow).toContain("include_release_path_suites: true"); expect(workflow).toContain("uses: ./.github/workflows/package-acceptance.yml"); expect(workflow).toContain("source: artifact"); expect(workflow).toContain("artifact_run_id: ${{ github.run_id }}");