




















@@ -643,6 +643,15 @@ jobs:
643643 echo "${name}-result=${results[$name]}" >> "$GITHUB_OUTPUT"
644644 done
645645646+ failures=0
647+ for name in channels core-support-boundary gateway-watch; do
648+ if [ "${results[$name]}" = "failure" ]; then
649+ echo "::error title=${name} failed::${name} failed"
650+ failures=1
651+ fi
652+ done
653+ exit "$failures"
654+646655 - name: Upload gateway watch regression artifacts
647656if: always() && needs.preflight.outputs.run_check_additional == 'true'
648657uses: actions/upload-artifact@v7
@@ -830,28 +839,6 @@ jobs:
830839 EOF
831840 OPENCLAW_VITEST_INCLUDE_FILE="$include_file" pnpm test:contracts:plugins
832841833- checks-fast-plugin-contracts:
834-permissions:
835-contents: read
836-name: checks-fast-contracts-plugins
837-needs: [preflight, checks-fast-plugin-contracts-shard]
838-if: ${{ !cancelled() && always() && needs.preflight.outputs.run_plugin_contracts_shards == 'true' }}
839-runs-on: ${{ github.event_name == 'workflow_dispatch' && 'ubuntu-24.04' || (github.repository == 'openclaw/openclaw' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-24.04') }}
840-timeout-minutes: 5
841-steps:
842- - name: Verify plugin contract shards
843-env:
844-SHARD_RESULT: ${{ needs.checks-fast-plugin-contracts-shard.result }}
845-run: |
846- if [ "$SHARD_RESULT" = "cancelled" ]; then
847- echo "Plugin contract shards were cancelled, usually because a newer commit superseded this run." >&2
848- exit 1
849- fi
850- if [ "$SHARD_RESULT" != "success" ]; then
851- echo "Plugin contract shards failed: $SHARD_RESULT" >&2
852- exit 1
853- fi
854-855842 checks-fast-channel-contracts-shard:
856843permissions:
857844contents: read
@@ -936,28 +923,6 @@ jobs:
936923 EOF
937924 OPENCLAW_VITEST_INCLUDE_FILE="$include_file" pnpm test:contracts:channels
938925939- checks-fast-channel-contracts:
940-permissions:
941-contents: read
942-name: checks-fast-contracts-channels
943-needs: [preflight, checks-fast-channel-contracts-shard]
944-if: ${{ !cancelled() && always() && needs.preflight.outputs.run_checks_fast == 'true' }}
945-runs-on: ${{ github.event_name == 'workflow_dispatch' && 'ubuntu-24.04' || (github.repository == 'openclaw/openclaw' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-24.04') }}
946-timeout-minutes: 5
947-steps:
948- - name: Verify channel contract shards
949-env:
950-SHARD_RESULT: ${{ needs.checks-fast-channel-contracts-shard.result }}
951-run: |
952- if [ "$SHARD_RESULT" = "cancelled" ]; then
953- echo "Channel contract shards were cancelled, usually because a newer commit superseded this run." >&2
954- exit 1
955- fi
956- if [ "$SHARD_RESULT" != "success" ]; then
957- echo "Channel contract shards failed: $SHARD_RESULT" >&2
958- exit 1
959- fi
960-961926 checks-fast-protocol:
962927permissions:
963928contents: read
@@ -1023,38 +988,6 @@ jobs:
1023988 - name: Run protocol check
1024989run: pnpm protocol:check
10259901026-checks:
1027-permissions:
1028-contents: read
1029-name: ${{ matrix.check_name }}
1030-needs: [preflight, build-artifacts]
1031-if: ${{ !cancelled() && always() && needs.preflight.outputs.run_checks == 'true' && needs.build-artifacts.result == 'success' }}
1032-runs-on: ${{ github.event_name == 'workflow_dispatch' && 'ubuntu-24.04' || (github.repository == 'openclaw/openclaw' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-24.04') }}
1033-timeout-minutes: 5
1034-strategy:
1035-fail-fast: false
1036-matrix: ${{ fromJson(needs.preflight.outputs.checks_matrix) }}
1037-steps:
1038- - name: Verify ${{ matrix.task }} (${{ matrix.runtime }})
1039-env:
1040-TASK: ${{ matrix.task }}
1041-CHANNELS_RESULT: ${{ needs.build-artifacts.outputs['channels-result'] }}
1042-shell: bash
1043-run: |
1044- set -euo pipefail
1045- case "$TASK" in
1046- channels)
1047- if [ "$CHANNELS_RESULT" != "success" ]; then
1048- echo "Channel tests failed in build-artifacts: $CHANNELS_RESULT" >&2
1049- exit 1
1050- fi
1051- ;;
1052- *)
1053- echo "Unsupported checks task: $TASK" >&2
1054- exit 1
1055- ;;
1056- esac
1057-1058991checks-node-compat:
1059992permissions:
1060993contents: read
@@ -1242,63 +1175,6 @@ jobs:
12421175 }
12431176 EOF
124411771245- checks-node-core-test-dist-shard:
1246-permissions:
1247-contents: read
1248-name: ${{ matrix.check_name }}
1249-needs: [preflight, build-artifacts]
1250-if: ${{ !cancelled() && always() && needs.preflight.outputs.run_checks_node_core_dist == 'true' && needs.build-artifacts.result == 'success' }}
1251-runs-on: ${{ github.event_name == 'workflow_dispatch' && 'ubuntu-24.04' || (github.repository == 'openclaw/openclaw' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-24.04') }}
1252-timeout-minutes: 5
1253-strategy:
1254-fail-fast: false
1255-matrix: ${{ fromJson(needs.preflight.outputs.checks_node_core_dist_matrix) }}
1256-steps:
1257- - name: Verify Node test shard
1258-env:
1259-CORE_SUPPORT_BOUNDARY_RESULT: ${{ needs.build-artifacts.outputs['core-support-boundary-result'] }}
1260-SHARD_NAME: ${{ matrix.shard_name }}
1261-shell: bash
1262-run: |
1263- set -euo pipefail
1264- case "$SHARD_NAME" in
1265- core-support-boundary)
1266- if [ "$CORE_SUPPORT_BOUNDARY_RESULT" != "success" ]; then
1267- echo "Core support boundary shard failed in build-artifacts: $CORE_SUPPORT_BOUNDARY_RESULT" >&2
1268- exit 1
1269- fi
1270- ;;
1271- *)
1272- echo "Unsupported built-artifact shard: $SHARD_NAME" >&2
1273- exit 1
1274- ;;
1275- esac
1276-1277- checks-node-core-test:
1278-permissions:
1279-contents: read
1280-name: checks-node-core
1281-needs: [preflight, checks-node-core-test-nondist-shard, checks-node-core-test-dist-shard]
1282-if: ${{ !cancelled() && always() && needs.preflight.outputs.run_checks == 'true' }}
1283-runs-on: ${{ github.event_name == 'workflow_dispatch' && 'ubuntu-24.04' || (github.repository == 'openclaw/openclaw' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-24.04') }}
1284-timeout-minutes: 5
1285-steps:
1286- - name: Verify node test shards
1287-env:
1288-DIST_SHARD_RESULT: ${{ needs.checks-node-core-test-dist-shard.result }}
1289-NONDIST_SHARD_RESULT: ${{ needs.checks-node-core-test-nondist-shard.result }}
1290-RUN_DIST_SHARDS: ${{ needs.preflight.outputs.run_checks_node_core_dist }}
1291-RUN_NONDIST_SHARDS: ${{ needs.preflight.outputs.run_checks_node_core_nondist }}
1292-run: |
1293- if [ "$RUN_NONDIST_SHARDS" = "true" ] && [ "$NONDIST_SHARD_RESULT" != "success" ]; then
1294- echo "Node non-dist test shards failed: $NONDIST_SHARD_RESULT" >&2
1295- exit 1
1296- fi
1297- if [ "$RUN_DIST_SHARDS" = "true" ] && [ "$DIST_SHARD_RESULT" != "success" ]; then
1298- echo "Node dist test shards failed: $DIST_SHARD_RESULT" >&2
1299- exit 1
1300- fi
1301-13021178 # Types, lint, and format check shards.
13031179check-shard:
13041180permissions:
@@ -1444,24 +1320,6 @@ jobs:
14441320path: .artifacts/deadcode
14451321if-no-files-found: ignore
144613221447-check:
1448-permissions:
1449-contents: read
1450-name: "check"
1451-needs: [preflight, check-shard]
1452-if: ${{ !cancelled() && always() && needs.preflight.outputs.run_check == 'true' }}
1453-runs-on: ${{ github.event_name == 'workflow_dispatch' && 'ubuntu-24.04' || (github.repository == 'openclaw/openclaw' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-24.04') }}
1454-timeout-minutes: 5
1455-steps:
1456- - name: Verify check shards
1457-env:
1458-SHARD_RESULT: ${{ needs.check-shard.result }}
1459-run: |
1460- if [ "$SHARD_RESULT" != "success" ]; then
1461- echo "Check shards failed: $SHARD_RESULT" >&2
1462- exit 1
1463- fi
1464-14651323check-additional-shard:
14661324permissions:
14671325contents: read
@@ -1639,52 +1497,6 @@ jobs:
1639149716401498 exit "$failures"
164114991642- check-additional:
1643-permissions:
1644-contents: read
1645-name: "check-additional"
1646-needs: [preflight, check-additional-shard, build-artifacts]
1647-if: ${{ !cancelled() && always() && needs.preflight.outputs.run_check_additional == 'true' }}
1648-runs-on: ${{ github.event_name == 'workflow_dispatch' && 'ubuntu-24.04' || (github.repository == 'openclaw/openclaw' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-24.04') }}
1649-timeout-minutes: 5
1650-steps:
1651- - name: Verify additional check shards
1652-env:
1653-SHARD_RESULT: ${{ needs.check-additional-shard.result }}
1654-BUILD_ARTIFACTS_RESULT: ${{ needs.build-artifacts.result }}
1655-GATEWAY_RESULT: ${{ needs.build-artifacts.outputs.gateway-watch-result }}
1656-run: |
1657- if [ "$SHARD_RESULT" != "success" ]; then
1658- echo "Additional check shards failed: $SHARD_RESULT" >&2
1659- exit 1
1660- fi
1661- if [ "$BUILD_ARTIFACTS_RESULT" != "success" ]; then
1662- echo "Build artifact job failed: $BUILD_ARTIFACTS_RESULT" >&2
1663- exit 1
1664- fi
1665- if [ "$GATEWAY_RESULT" != "success" ]; then
1666- echo "Gateway topology check failed: $GATEWAY_RESULT" >&2
1667- exit 1
1668- fi
1669-1670- build-smoke:
1671-permissions:
1672-contents: read
1673-name: "build-smoke"
1674-needs: [preflight, build-artifacts]
1675-if: ${{ !cancelled() && always() && needs.preflight.outputs.run_build_smoke == 'true' && (github.event_name != 'push' || needs.build-artifacts.result == 'success') }}
1676-runs-on: ${{ github.event_name == 'workflow_dispatch' && 'ubuntu-24.04' || (github.repository == 'openclaw/openclaw' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-24.04') }}
1677-timeout-minutes: 5
1678-steps:
1679- - name: Verify build smoke
1680-env:
1681-BUILD_ARTIFACTS_RESULT: ${{ needs.build-artifacts.result }}
1682-run: |
1683- if [ "$BUILD_ARTIFACTS_RESULT" != "success" ]; then
1684- echo "Build smoke checks failed in build-artifacts: $BUILD_ARTIFACTS_RESULT" >&2
1685- exit 1
1686- fi
1687-16881500 # Validate docs (format, lint, broken links) only when docs files changed.
16891501check-docs:
16901502permissions:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。