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

推荐订阅源

博客园 - 【当耐特】
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
小众软件
小众软件
The Cloudflare Blog
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
美团技术团队
WordPress大学
WordPress大学
罗磊的独立博客
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
Last Week in AI
Last Week in AI
月光博客
月光博客
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
GbyAI
GbyAI
B
Blog
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - 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
fix(ci): deduplicate release Telegram validation · opencl...
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