惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
F
Fortinet All Blogs
J
Java Code Geeks
GbyAI
GbyAI
Engineering at Meta
Engineering at Meta
P
Privacy International News Feed
V
Visual Studio Blog
Martin Fowler
Martin Fowler
博客园 - 司徒正美
A
Arctic Wolf
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
U
Unit 42
Scott Helme
Scott Helme
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Proofpoint News Feed
P
Palo Alto Networks Blog
S
Securelist
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Threatpost
S
SegmentFault 最新的问题
AWS News Blog
AWS News Blog
MongoDB | Blog
MongoDB | Blog
Apple Machine Learning Research
Apple Machine Learning Research
K
Kaspersky official blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Exploit Database - CXSecurity.com
Google DeepMind News
Google DeepMind News
A
About on SuperTechFans
月光博客
月光博客
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
CXSECURITY Database RSS Feed - CXSecurity.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
NISL@THU
NISL@THU
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Latest news
Latest news
Y
Y Combinator Blog
PCI Perspectives
PCI Perspectives
S
Security Affairs
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
O
OpenAI News
Google Online Security Blog
Google Online Security Blog
The Hacker News
The Hacker News
博客园 - Franky
Attack and Defense Labs
Attack and Defense Labs
Hugging Face - Blog
Hugging Face - Blog
N
Netflix TechBlog - Medium
The GitHub Blog
The GitHub Blog
T
Troy Hunt's Blog

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4 test: trim doctor command hotspots · openclaw/openclaw@c66f16a test: isolate agent auth and spawn hotspots · openclaw/openclaw@9285935 test: stabilize MCP startup disposal race · openclaw/openclaw@dd9d2eb test: merge browser contract server suites · openclaw/openclaw@5817a76 test: narrow ollama provider discovery setup · openclaw/openclaw@a0d9598 build: declare qa-lab aimock runtime dependency · openclaw/openclaw@24431e5 test: speed up safe-bins exec harness · openclaw/openclaw@ee856ab test: preserve tool helpers in embedded runner mocks · openclaw/openclaw@acd86a0 refactor: move memory embeddings into provider plugins · openclaw/openclaw@77e6e4c test: reuse system-run temp fixtures · openclaw/openclaw@7e9ff0f test: trim hotspot wait overhead · openclaw/openclaw@12a59b0 Check: avoid duplicate boundary prep · openclaw/openclaw@baf11b8 test: reduce hotspot fixture overhead · openclaw/openclaw@3a59edd feat(ui): overhaul settings and slash command UX (#67819) thanks @Bun… · openclaw/openclaw@2cfb660 QA Matrix: exit cleanly on failure · openclaw/openclaw@42805d2 QA Matrix: isolate scenario coverage · openclaw/openclaw@7e659e1 Matrix: refresh crypto bootstrap state · openclaw/openclaw@94081d8 QA Lab: add provider registry · openclaw/openclaw@bb7e982 Matrix: add plugin changelog · openclaw/openclaw@4acab55 test: trim more hotspot overhead · openclaw/openclaw@f485311 test: trim remaining hotspot tests · openclaw/openclaw@6ba8626 test: narrow hotspot mocks · openclaw/openclaw@dbc8179 test: isolate gemini embedding request helpers · openclaw/openclaw@cd330f5 test: trim memory and mcp hotspots · openclaw/openclaw@fd48dfa test: slim provider registry mocks · openclaw/openclaw@2e08c77 test: harden Parallels update smoke · openclaw/openclaw@1a98090 feat: default Anthropic to Opus 4.7 · openclaw/openclaw@628b454 fix: harden node-host shell payload mutability checks · openclaw/openclaw@75c551e fix: land node-host approval binding for native binaries (#66731) (th… · openclaw/openclaw@29919bb CI: add daily schedule to CodeQL workflow (#67645) · openclaw/openclaw@69d25f5 fix(gateway): capture config hash after plugin auto-enable to prevent… · openclaw/openclaw@8c11210 fix: repair sanitized replay tool results before send (#67620) (thank… · openclaw/openclaw@c3c7a99 fix: restrict HTML timeout short-circuit to transient statuses · openclaw/openclaw@de129a6 fix: keep TUI watchdog bound to active run (#67401) (thanks @xantorres) · openclaw/openclaw@3525273 Gateway/skills: dedupe skills prefix-match + drop dead fallback on log · openclaw/openclaw@d7f489f Extensions/lmstudio: back off inference preload after consecutive fai… · openclaw/openclaw@b555214 TUI/streaming: add watchdog that resets the activity indicator after … · openclaw/openclaw@f44ab20 Agents/tool-loop: enable unknown-tool stream guard by default · openclaw/openclaw@36ed367 Gateway/skills: invalidate session skills snapshot on config write · openclaw/openclaw@b23d59a fix: classify HTML provider error pages correctly (#67642) (thanks @s… · openclaw/openclaw@e588e90 fix(skills): remove unused model-usage import (#67641) · openclaw/openclaw@55f05df docs(changelog): credit codex fix superseded PRs · openclaw/openclaw@e485f24 fix(openai-codex): normalize stale transport metadata in resolution a… · openclaw/openclaw@90801ba CI: pin Docker-related GitHub Actions (#67632) · openclaw/openclaw@f697b01 Android: modernize WebView and discovery API usage (#67627) · openclaw/openclaw@44a6e50 fix(deps): bump hono to 4.12.14 and @hono/node-server to 1.19.14 (GHS… · openclaw/openclaw@fbccc18 fix(deps): bump dompurify to 3.4.0 (#67614) · openclaw/openclaw@2c2dc00 CI: add explicit permissions to all workflow jobs (fixes code-scannin… · openclaw/openclaw@01b7516 fix: register bundled TTS providers and route overrides correctly (#6… · openclaw/openclaw@6ea3cdd fix: align host tilde paths with OS home (#62804) (thanks @stainlu) · openclaw/openclaw@ecfaf64 fix: flush creds queue before reconnect socket open (#67464) (thanks … · openclaw/openclaw@405c63f fix: strip standalone <function> tool call tags from visible text (#6… · openclaw/openclaw@78df859 fix(agents): preserve cli session metadata before transcript persist … · openclaw/openclaw@898fd04 docs(changelog): move cli transcript entry · openclaw/openclaw@c1817c6 fix(agents): normalize cli transcript api field · openclaw/openclaw@3a3fae0 docs(changelog): note cli transcript persistence · openclaw/openclaw@6c343f1 fix(agents): persist cli transcript turns · openclaw/openclaw@b8ef507 fix(msteams): harden security-sensitive flows (#65841) · openclaw/openclaw@c56b56e [Dashboard] Fix exec approval modal overflow for long command content… · openclaw/openclaw@053c5b0 Docs: remove QA changelog entry · openclaw/openclaw@7fd5771 QA: fix private runtime source loading (#67428) · openclaw/openclaw@d5933af docs(gateway): correct protocol.md schema path, hello-ok example, aut… · openclaw/openclaw@489404d CI: pin Node 22 runners to 22.18.0 · openclaw/openclaw@4ffa621 models.authStatus: normalize provider ids + tighten env-backed escape… · openclaw/openclaw@f2fdb9d Update CHANGELOG.md · openclaw/openclaw@7694a92 test(parallels): clean up npm update guard jobs · openclaw/openclaw@045ea7b Plugins: prefer scanDir override paths · openclaw/openclaw@b2974da fix(dreaming): default storage.mode to "separate" so phase blocks sto… · openclaw/openclaw@8c392f0 fix(memory-core): skip dreaming transcript ingestion via session stor… · openclaw/openclaw@a1b01f0 fix: dedupe replayed exec.finished node events (#67281) · openclaw/openclaw@5dcf526
fix(ci): deduplicate release Telegram validation · openclaw/openclaw@f3ee317
vincentkoc · 2026-06-21 · via Recent Commits to openclaw:main

@@ -70,7 +70,7 @@ on:

7070

default: ""

7171

type: string

7272

npm_telegram_package_spec:

73-

description: Optional published package spec for the package Telegram E2E lane

73+

description: Optional published package spec for the focused package Telegram E2E rerun

7474

required: false

7575

default: ""

7676

type: string

@@ -95,15 +95,15 @@ on:

9595

default: ""

9696

type: string

9797

npm_telegram_provider_mode:

98-

description: Provider mode for the package Telegram E2E lane

98+

description: Provider mode for the focused package Telegram E2E rerun

9999

required: false

100100

default: mock-openai

101101

type: choice

102102

options:

103103

- mock-openai

104104

- live-frontier

105105

npm_telegram_scenario:

106-

description: Optional comma-separated Telegram scenario ids for the package Telegram lane

106+

description: Optional comma-separated Telegram scenario ids for the focused package Telegram E2E rerun

107107

required: false

108108

default: ""

109109

type: string

@@ -200,14 +200,16 @@ jobs:

200200

if [[ -n "${RELEASE_PACKAGE_SPEC// }" ]]; then

201201

echo "- Published release package: \`${RELEASE_PACKAGE_SPEC}\`"

202202

fi

203-

if [[ -n "${NPM_TELEGRAM_PACKAGE_SPEC// }" ]]; then

203+

if [[ "$RERUN_GROUP" == "npm-telegram" && -n "${NPM_TELEGRAM_PACKAGE_SPEC// }" ]]; then

204204

echo "- Published-package Telegram E2E: \`${NPM_TELEGRAM_PACKAGE_SPEC}\`"

205-

elif [[ -n "${RELEASE_PACKAGE_SPEC// }" ]]; then

205+

elif [[ "$RERUN_GROUP" == "npm-telegram" && -n "${RELEASE_PACKAGE_SPEC// }" ]]; then

206206

echo "- Published-package Telegram E2E: \`${RELEASE_PACKAGE_SPEC}\`"

207-

elif [[ "$RERUN_GROUP" == "all" && "$RELEASE_PROFILE" == "full" ]]; then

208-

echo "- Package Telegram E2E: parent \`release-package-under-test\` artifact"

207+

elif [[ "$RERUN_GROUP" == "npm-telegram" ]]; then

208+

echo "- Package Telegram E2E: focused rerun requires \`release_package_spec\` or \`npm_telegram_package_spec\`"

209+

elif [[ "$RERUN_GROUP" == "all" || "$RERUN_GROUP" == "release-checks" || "$RERUN_GROUP" == "package" ]]; then

210+

echo "- Package Telegram E2E: OpenClaw Release Checks Package Acceptance"

209211

else

210-

echo "- Package Telegram E2E: skipped unless \`release_profile=full\`, \`release_package_spec\`, or \`npm_telegram_package_spec\` is provided"

212+

echo "- Package Telegram E2E: skipped by rerun group"

211213

fi

212214

if [[ -n "${EVIDENCE_PACKAGE_SPEC// }" ]]; then

213215

echo "- Private evidence package proof: \`${EVIDENCE_PACKAGE_SPEC}\`"

@@ -764,80 +766,10 @@ jobs:

764766765767

dispatch_and_wait openclaw-release-checks.yml "${args[@]}"

766768767-

prepare_release_package:

768-

name: Prepare release package artifact

769-

needs: [resolve_target, docker_runtime_assets_preflight]

770-

if: ${{ always() && needs.resolve_target.result == 'success' && inputs.npm_telegram_package_spec == '' && inputs.release_package_spec == '' && inputs.rerun_group == 'all' && inputs.release_profile == 'full' && needs.docker_runtime_assets_preflight.result == 'success' }}

771-

runs-on: ubuntu-24.04

772-

timeout-minutes: 15

773-

permissions:

774-

contents: read

775-

packages: write

776-

outputs:

777-

artifact_name: ${{ steps.artifact.outputs.name }}

778-

package_sha256: ${{ steps.package.outputs.sha256 }}

779-

package_version: ${{ steps.package.outputs.package_version }}

780-

source_sha: ${{ steps.package.outputs.source_sha }}

781-

steps:

782-

- name: Checkout trusted workflow ref

783-

uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6

784-

with:

785-

persist-credentials: true

786-

ref: ${{ github.ref_name }}

787-

fetch-depth: 0

788-789-

- name: Set artifact metadata

790-

id: artifact

791-

run: echo "name=release-package-under-test" >> "$GITHUB_OUTPUT"

792-793-

- name: Setup Node environment

794-

uses: ./.github/actions/setup-node-env

795-

with:

796-

node-version: ${{ env.NODE_VERSION }}

797-

install-bun: "true"

798-

install-deps: "false"

799-800-

- name: Resolve release package artifact

801-

id: package

802-

shell: bash

803-

env:

804-

PACKAGE_REF: ${{ needs.resolve_target.outputs.sha }}

805-

run: |

806-

set -euo pipefail

807-

node scripts/resolve-openclaw-package-candidate.mjs \

808-

--source ref \

809-

--package-ref "$PACKAGE_REF" \

810-

--output-dir .artifacts/docker-e2e-package \

811-

--output-name openclaw-current.tgz \

812-

--metadata .artifacts/docker-e2e-package/package-candidate.json \

813-

--github-output "$GITHUB_OUTPUT"

814-

digest="$(node -p "JSON.parse(require('fs').readFileSync('.artifacts/docker-e2e-package/package-candidate.json', 'utf8')).sha256")"

815-

version="$(node -p "JSON.parse(require('fs').readFileSync('.artifacts/docker-e2e-package/package-candidate.json', 'utf8')).version")"

816-

source_sha="$(node -p "JSON.parse(require('fs').readFileSync('.artifacts/docker-e2e-package/package-candidate.json', 'utf8')).packageSourceSha")"

817-

echo "source_sha=$source_sha" >> "$GITHUB_OUTPUT"

818-

{

819-

echo "## Release package artifact"

820-

echo

821-

echo "- Artifact: \`release-package-under-test\`"

822-

echo "- Package ref: \`$PACKAGE_REF\`"

823-

echo "- SHA-256: \`$digest\`"

824-

echo "- Version: \`$version\`"

825-

echo "- Source SHA: \`$source_sha\`"

826-

} >> "$GITHUB_STEP_SUMMARY"

827-828-

- name: Upload release package artifact

829-

uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7

830-

with:

831-

name: release-package-under-test

832-

path: |

833-

.artifacts/docker-e2e-package/openclaw-current.tgz

834-

.artifacts/docker-e2e-package/package-candidate.json

835-

if-no-files-found: error

836-837769

npm_telegram:

838770

name: Run package Telegram E2E

839-

needs: [resolve_target, prepare_release_package]

840-

if: ${{ always() && contains(fromJSON('["all","npm-telegram"]'), inputs.rerun_group) && (inputs.npm_telegram_package_spec != '' || inputs.release_package_spec != '' || (inputs.rerun_group == 'all' && inputs.release_profile == 'full')) }}

771+

needs: [resolve_target]

772+

if: ${{ always() && needs.resolve_target.result == 'success' && inputs.rerun_group == 'npm-telegram' && (inputs.npm_telegram_package_spec != '' || inputs.release_package_spec != '') }}

841773

continue-on-error: ${{ startsWith(github.ref, 'refs/heads/tideclaw/alpha/') }}

842774

runs-on: ubuntu-24.04

843775

timeout-minutes: ${{ inputs.release_profile == 'full' && 360 || 60 }}

@@ -853,8 +785,6 @@ jobs:

853785

CHILD_WORKFLOW_REF: ${{ github.ref_name }}

854786

TARGET_SHA: ${{ needs.resolve_target.outputs.sha }}

855787

PACKAGE_SPEC: ${{ inputs.npm_telegram_package_spec || inputs.release_package_spec }}

856-

PACKAGE_ARTIFACT_NAME: ${{ needs.prepare_release_package.outputs.artifact_name }}

857-

PREPARE_PACKAGE_RESULT: ${{ needs.prepare_release_package.result }}

858788

PROVIDER_MODE: ${{ inputs.npm_telegram_provider_mode }}

859789

SCENARIO: ${{ inputs.npm_telegram_scenario }}

860790

run: |

@@ -883,18 +813,7 @@ jobs:

883813

return "$status"

884814

}

885815886-

args=(-f package_spec="${PACKAGE_SPEC:-openclaw@beta}" -f harness_ref="$TARGET_SHA" -f provider_mode="$PROVIDER_MODE")

887-

if [[ -z "${PACKAGE_SPEC// }" ]]; then

888-

if [[ "$PREPARE_PACKAGE_RESULT" != "success" || -z "${PACKAGE_ARTIFACT_NAME// }" ]]; then

889-

echo "Full release Telegram requires either npm_telegram_package_spec or a prepared release-package-under-test artifact." >&2

890-

exit 1

891-

fi

892-

args+=(

893-

-f package_artifact_name="$PACKAGE_ARTIFACT_NAME"

894-

-f package_artifact_run_id="${GITHUB_RUN_ID}"

895-

-f package_label="full-release-${TARGET_SHA:0:12}"

896-

)

897-

fi

816+

args=(-f package_spec="$PACKAGE_SPEC" -f harness_ref="$TARGET_SHA" -f provider_mode="$PROVIDER_MODE")

898817

if [[ -n "${SCENARIO// }" ]]; then

899818

args+=(-f scenario="$SCENARIO")

900819

fi