


























@@ -544,6 +544,12 @@ jobs:
544544include-hidden-files: true
545545retention-days: 1
546546547+ - name: Cache dist-runtime build
548+uses: actions/cache@v5
549+with:
550+path: dist-runtime/
551+key: ${{ runner.os }}-dist-runtime-build-${{ github.sha }}
552+547553checks-fast-core:
548554permissions:
549555contents: read
@@ -1606,8 +1612,6 @@ jobs:
16061612group: extension-bundled
16071613 - check_name: check-additional-extension-package-boundary
16081614group: extension-package-boundary
1609- - check_name: check-additional-runtime-topology-gateway
1610-group: runtime-topology-gateway
16111615 - check_name: check-additional-runtime-topology-architecture
16121616group: runtime-topology-architecture
16131617steps:
@@ -1706,7 +1710,6 @@ jobs:
17061710 - name: Run additional check shard
17071711env:
17081712ADDITIONAL_CHECK_GROUP: ${{ matrix.group }}
1709-RUN_CONTROL_UI_I18N: ${{ needs.preflight.outputs.run_control_ui_i18n }}
17101713OPENCLAW_EXTENSION_BOUNDARY_CONCURRENCY: 6
17111714shell: bash
17121715run: |
@@ -1759,12 +1762,6 @@ jobs:
17591762 run_check "test:extensions:package-boundary:compile" pnpm run test:extensions:package-boundary:compile
17601763 run_check "test:extensions:package-boundary:canary" pnpm run test:extensions:package-boundary:canary
17611764 ;;
1762- runtime-topology-gateway)
1763- if [ "$RUN_CONTROL_UI_I18N" = "true" ]; then
1764- run_check "ui:i18n:check" pnpm ui:i18n:check
1765- fi
1766- run_check "gateway-watch-regression" pnpm test:gateway:watch-regression
1767- ;;
17681765 runtime-topology-architecture)
17691766 run_check "check:architecture" pnpm check:architecture
17701767 ;;
@@ -1776,8 +1773,121 @@ jobs:
1776177317771774 exit "$failures"
177817751776+ check-additional-runtime-topology-gateway:
1777+permissions:
1778+contents: read
1779+name: "check-additional-runtime-topology-gateway"
1780+needs: [preflight, build-artifacts]
1781+if: ${{ !cancelled() && always() && needs.preflight.outputs.run_check_additional == 'true' && needs.build-artifacts.result == 'success' }}
1782+runs-on: ubuntu-24.04
1783+timeout-minutes: 20
1784+steps:
1785+ - name: Checkout
1786+shell: bash
1787+env:
1788+CHECKOUT_REPO: ${{ github.repository }}
1789+CHECKOUT_SHA: ${{ github.sha }}
1790+CHECKOUT_TOKEN: ${{ github.token }}
1791+run: |
1792+ set -euo pipefail
1793+1794+ workdir="$GITHUB_WORKSPACE"
1795+ auth_header="$(printf 'x-access-token:%s' "$CHECKOUT_TOKEN" | base64 | tr -d '\n')"
1796+1797+ reset_checkout_dir() {
1798+ mkdir -p "$workdir"
1799+ find "$workdir" -mindepth 1 -maxdepth 1 -exec rm -rf {} +
1800+ }
1801+1802+ checkout_attempt() {
1803+ local attempt="$1"
1804+1805+ reset_checkout_dir
1806+ git init "$workdir" >/dev/null
1807+ git config --global --add safe.directory "$workdir"
1808+ git -C "$workdir" remote add origin "https://github.com/${CHECKOUT_REPO}"
1809+ git -C "$workdir" config gc.auto 0
1810+1811+ timeout --signal=TERM 30s git -C "$workdir" \
1812+ -c protocol.version=2 \
1813+ -c "http.https://github.com/.extraheader=AUTHORIZATION: basic ${auth_header}" \
1814+ fetch --no-tags --prune --no-recurse-submodules --depth=1 origin \
1815+ "+${CHECKOUT_SHA}:refs/remotes/origin/ci-target" || return 1
1816+1817+ git -C "$workdir" checkout --force --detach "$CHECKOUT_SHA" || return 1
1818+ test -f "$workdir/.github/actions/setup-node-env/action.yml" || return 1
1819+ echo "checkout attempt ${attempt}/2 succeeded"
1820+ }
1821+1822+ for attempt in 1 2; do
1823+ if checkout_attempt "$attempt"; then
1824+ exit 0
1825+ fi
1826+ echo "checkout attempt ${attempt}/2 failed"
1827+ sleep $((attempt * 5))
1828+ done
1829+1830+ echo "checkout failed after 2 attempts" >&2
1831+ exit 1
1832+1833+ - name: Setup Node environment
1834+uses: ./.github/actions/setup-node-env
1835+with:
1836+install-bun: "false"
1837+1838+ - name: Restore dist cache
1839+id: gateway-dist-cache
1840+uses: actions/cache@v5
1841+with:
1842+path: dist/
1843+key: ${{ runner.os }}-dist-build-${{ github.sha }}
1844+1845+ - name: Download dist artifact
1846+if: steps.gateway-dist-cache.outputs.cache-hit != 'true'
1847+uses: actions/download-artifact@v8
1848+with:
1849+name: dist-build
1850+path: dist/
1851+1852+ - name: Restore dist-runtime cache
1853+id: gateway-dist-runtime-cache
1854+uses: actions/cache@v5
1855+with:
1856+path: dist-runtime/
1857+key: ${{ runner.os }}-dist-runtime-build-${{ github.sha }}
1858+1859+ - name: Run runtime topology gateway checks
1860+env:
1861+RUN_CONTROL_UI_I18N: ${{ needs.preflight.outputs.run_control_ui_i18n }}
1862+shell: bash
1863+run: |
1864+ set -euo pipefail
1865+1866+ failures=0
1867+1868+ run_check() {
1869+ local label="$1"
1870+ shift
1871+1872+ echo "::group::${label}"
1873+ if "$@"; then
1874+ echo "[ok] ${label}"
1875+ else
1876+ echo "::error title=${label} failed::${label} failed"
1877+ failures=1
1878+ fi
1879+ echo "::endgroup::"
1880+ }
1881+1882+ if [ "$RUN_CONTROL_UI_I18N" = "true" ]; then
1883+ run_check "ui:i18n:check" pnpm ui:i18n:check
1884+ fi
1885+ run_check "gateway-watch-regression" node scripts/check-gateway-watch-regression.mjs --skip-build
1886+1887+ exit "$failures"
1888+17791889 - name: Upload gateway watch regression artifacts
1780-if: always() && matrix.group == 'runtime-topology-gateway'
1890+if: always()
17811891uses: actions/upload-artifact@v7
17821892with:
17831893name: gateway-watch-regression
@@ -1788,19 +1898,24 @@ jobs:
17881898permissions:
17891899contents: read
17901900name: "check-additional"
1791-needs: [preflight, check-additional-shard]
1901+needs: [preflight, check-additional-shard, check-additional-runtime-topology-gateway]
17921902if: ${{ !cancelled() && always() && needs.preflight.outputs.run_check_additional == 'true' }}
17931903runs-on: ubuntu-24.04
17941904timeout-minutes: 5
17951905steps:
17961906 - name: Verify additional check shards
17971907env:
17981908SHARD_RESULT: ${{ needs.check-additional-shard.result }}
1909+GATEWAY_RESULT: ${{ needs.check-additional-runtime-topology-gateway.result }}
17991910run: |
18001911 if [ "$SHARD_RESULT" != "success" ]; then
18011912 echo "Additional check shards failed: $SHARD_RESULT" >&2
18021913 exit 1
18031914 fi
1915+ if [ "$GATEWAY_RESULT" != "success" ]; then
1916+ echo "Runtime topology gateway check failed: $GATEWAY_RESULT" >&2
1917+ exit 1
1918+ fi
1804191918051920 build-smoke:
18061921permissions:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。