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

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
Y
Y Combinator Blog
IT之家
IT之家
博客园 - 聂微东
L
LangChain Blog
爱范儿
爱范儿
H
Help Net Security
GbyAI
GbyAI
F
Fortinet All Blogs
B
Blog
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
D
DataBreaches.Net
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享

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
ci: tighten release publish timeouts · openclaw/openclaw@...
steipete · 2026-05-10 · via Recent Commits to openclaw:main
Original file line numberDiff line numberDiff line change

@@ -618,7 +618,7 @@ jobs:

618618

timeout_minutes: 120

619619

- chunk_id: package-update-openai

620620

label: package/update OpenAI install

621-

timeout_minutes: 35

621+

timeout_minutes: 20

622622

- chunk_id: package-update-anthropic

623623

label: package/update Anthropic install

624624

timeout_minutes: 180

Original file line numberDiff line numberDiff line change

@@ -158,7 +158,7 @@ jobs:

158158

name: Publish plugins, then OpenClaw

159159

needs: [resolve_release_target]

160160

runs-on: ubuntu-latest

161-

timeout-minutes: 360

161+

timeout-minutes: 90

162162

steps:

163163

- name: Dispatch publish workflows

164164

env:

@@ -274,15 +274,22 @@ jobs:

274274

changelog_file="${RUNNER_TEMP}/CHANGELOG.md"

275275

notes_file="${RUNNER_TEMP}/release-notes.md"

276276
277-

gh api --repo "$GITHUB_REPOSITORY" "repos/${GITHUB_REPOSITORY}/contents/CHANGELOG.md?ref=${TARGET_SHA}" \

277+

gh api "repos/${GITHUB_REPOSITORY}/contents/CHANGELOG.md?ref=${TARGET_SHA}" \

278278

--jq '.content' | base64 --decode > "${changelog_file}"

279279

awk -v version="${notes_version}" '

280280

$0 == "## " version { in_section = 1; next }

281281

/^## / && in_section { exit }

282282

in_section { print }

283283

' "${changelog_file}" > "${notes_file}"

284+

if [[ ! -s "${notes_file}" ]] && [[ "${RELEASE_TAG}" == *"-alpha."* || "${RELEASE_TAG}" == *"-beta."* ]]; then

285+

awk '

286+

$0 == "## Unreleased" { in_section = 1; next }

287+

/^## / && in_section { exit }

288+

in_section { print }

289+

' "${changelog_file}" > "${notes_file}"

290+

fi

284291

if [[ ! -s "${notes_file}" ]]; then

285-

echo "CHANGELOG.md does not contain release notes for ${notes_version}." >&2

292+

echo "CHANGELOG.md does not contain release notes for ${notes_version} or an Unreleased prerelease fallback." >&2

286293

exit 1

287294

fi

288295
Original file line numberDiff line numberDiff line change

@@ -23,7 +23,7 @@ SKIP_PREVIOUS="${OPENCLAW_INSTALL_E2E_SKIP_PREVIOUS:-0}"

2323

OPENAI_API_KEY="${OPENAI_API_KEY:-}"

2424

ANTHROPIC_API_KEY="${ANTHROPIC_API_KEY:-}"

2525

ANTHROPIC_API_TOKEN="${ANTHROPIC_API_TOKEN:-}"

26-

AGENT_TURN_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-600}"

26+

AGENT_TURN_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-300}"

2727

AGENT_TURNS_PARALLEL="${OPENCLAW_INSTALL_E2E_AGENT_TURNS_PARALLEL:-1}"

2828

AGENT_TOOL_SMOKE="${OPENCLAW_INSTALL_E2E_AGENT_TOOL_SMOKE:-1}"

2929

OPENAI_AGENT_MODEL="${OPENCLAW_INSTALL_E2E_OPENAI_MODEL:-openai/gpt-5.5}"

Original file line numberDiff line numberDiff line change

@@ -26,7 +26,7 @@ docker run --rm \

2626

-e OPENCLAW_INSTALL_E2E_OPENAI_PROVIDER_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_OPENAI_PROVIDER_TIMEOUT_SECONDS:-}" \

2727

-e OPENCLAW_INSTALL_E2E_PREVIOUS="${OPENCLAW_INSTALL_E2E_PREVIOUS:-}" \

2828

-e OPENCLAW_INSTALL_E2E_SKIP_PREVIOUS="${OPENCLAW_INSTALL_E2E_SKIP_PREVIOUS:-0}" \

29-

-e OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-600}" \

29+

-e OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-300}" \

3030

-e OPENCLAW_INSTALL_E2E_AGENT_TURNS_PARALLEL="${OPENCLAW_INSTALL_E2E_AGENT_TURNS_PARALLEL:-1}" \

3131

-e OPENCLAW_INSTALL_E2E_AGENT_TOOL_SMOKE="${OPENCLAW_INSTALL_E2E_AGENT_TOOL_SMOKE:-1}" \

3232

-e OPENCLAW_NO_ONBOARD=1 \

Original file line numberDiff line numberDiff line change

@@ -151,8 +151,12 @@ describe("docker build helper", () => {

151151

expect(wrapper).toContain("OPENCLAW_INSTALL_E2E_AGENT_TURNS_PARALLEL");

152152

expect(wrapper).toContain("OPENCLAW_INSTALL_E2E_OPENAI_MODEL");

153153

expect(wrapper).toContain("OPENCLAW_INSTALL_E2E_OPENAI_PROVIDER_TIMEOUT_SECONDS");

154+

expect(wrapper).toContain("OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-300");

154155

expect(runner).toContain("OPENCLAW_INSTALL_E2E_OPENAI_MODEL");

155156

expect(runner).toContain("OPENCLAW_INSTALL_E2E_OPENAI_PROVIDER_TIMEOUT_SECONDS");

157+

expect(runner).toContain(

158+

'AGENT_TURN_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-300}"',

159+

);

156160

});

157161
158162

it("keeps package acceptance plugin coverage offline-capable", () => {

Original file line numberDiff line numberDiff line change

@@ -7,6 +7,7 @@ const LIVE_E2E_WORKFLOW = ".github/workflows/openclaw-live-and-e2e-checks-reusab

77

const NPM_TELEGRAM_WORKFLOW = ".github/workflows/npm-telegram-beta-e2e.yml";

88

const PACKAGE_JSON = "package.json";

99

const RELEASE_CHECKS_WORKFLOW = ".github/workflows/openclaw-release-checks.yml";

10+

const RELEASE_PUBLISH_WORKFLOW = ".github/workflows/openclaw-release-publish.yml";

1011

const FULL_RELEASE_VALIDATION_WORKFLOW = ".github/workflows/full-release-validation.yml";

1112

const QA_LIVE_TRANSPORTS_WORKFLOW = ".github/workflows/qa-live-transports-convex.yml";

1213

const UPDATE_MIGRATION_WORKFLOW = ".github/workflows/update-migration.yml";

@@ -829,4 +830,17 @@ describe("package artifact reuse", () => {

829830

expect(workflow).toContain("(.started_at | ts) - (.created_at | ts)");

830831

expect(workflow).not.toContain('gh run view "$run_id" --json createdAt,jobs');

831832

});

833+
834+

it("keeps release publish creation compatible with gh api and prerelease notes", () => {

835+

const workflow = readFileSync(RELEASE_PUBLISH_WORKFLOW, "utf8");

836+
837+

expect(workflow).toContain("timeout-minutes: 90");

838+

expect(workflow).toContain(

839+

'gh api "repos/${GITHUB_REPOSITORY}/contents/CHANGELOG.md?ref=${TARGET_SHA}"',

840+

);

841+

expect(workflow).toContain('$0 == "## Unreleased" { in_section = 1; next }');

842+

expect(workflow).toContain("Unreleased prerelease fallback");

843+

expect(workflow).not.toContain("gh api --repo");

844+

expect(workflow).not.toContain("timeout-minutes: 360");

845+

});

832846

});