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

推荐订阅源

T
Tailwind CSS Blog
MyScale Blog
MyScale Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
雷峰网
雷峰网
罗磊的独立博客
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
博客园 - 司徒正美
Last Week in AI
Last Week in AI
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
宝玉的分享
宝玉的分享

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
docs(release): require early performance regression check...
steipete · 2026-05-25 · via Recent Commits to openclaw:main

@@ -59,6 +59,15 @@ Use this skill for release and publish-time workflow. Keep ordinary development

5959

fixes that landed after the release branch cut and backport only important

6060

low-risk fixes. Operators may authorize up to 4 autonomous beta attempts;

6161

after 4 failed beta attempts, stop and report.

62+

- As soon as the release candidate SHA exists, dispatch `OpenClaw Performance`

63+

with `target_ref=<release-sha>` in parallel with the other release work. Do

64+

not wait for full release validation to start the performance signal.

65+

- Before publish/closeout, compare available product performance metrics with

66+

earlier releases: Kova agent-turn/resource metrics, gateway startup

67+

ready/listen/RSS/CPU metrics, and CLI startup metrics from release evidence

68+

or clawgrit reports. Report regressions explicitly. A major regression is a

69+

release blocker unless the operator waives it or the data clearly proves

70+

infrastructure noise.

6271

- Use `/changelog` before version/tag preparation so the top changelog section

6372

is deduped and ordered by user impact.

6473

- Do not create beta-specific `CHANGELOG.md` headings. Beta releases use the

@@ -540,50 +549,58 @@ node --import tsx scripts/openclaw-npm-postpublish-verify.ts <published-version>

540549

6. Create `release/YYYY.M.D` from that post-changelog `main` commit.

541550

7. Make every repo version location match the beta tag before creating it.

542551

8. Commit release preparation changes on the release branch and push the branch.

543-

9. Run the fast local beta preflight from the release branch before any npm

544-

preflight or publish. Keep expensive Docker, Parallels, and published-package

545-

install/update lanes for after the beta is live unless the operator asks to

546-

run them before beta publication.

547-

10. For beta releases, skip mac app build/sign/notarize unless beta scope or a

552+

9. Immediately dispatch Actions > `OpenClaw Performance` from `main` with

553+

`target_ref=<release-sha>`, `profile=release`, `repeat=3`, deep profiling

554+

off, live OpenAI off, and regression failure off. Let it run in parallel

555+

with preflight and validation work.

556+

10. Run the fast local beta preflight from the release branch before any npm

557+

preflight or publish. Keep expensive Docker, Parallels, and published-package

558+

install/update lanes for after the beta is live unless the operator asks to

559+

run them before beta publication.

560+

11. For beta releases, skip mac app build/sign/notarize unless beta scope or a

548561

release blocker specifically requires it. For stable releases, include the

549562

mac app, signing, notarization, and appcast path.

550-

11. Confirm the target npm version is not already published.

551-

12. Create and push the git tag from the release branch.

552-

13. Create or refresh the matching GitHub release.

553-

14. Dispatch Actions > `QA-Lab - All Lanes` against the release tag and wait

563+

12. Confirm the target npm version is not already published.

564+

13. Create and push the git tag from the release branch.

565+

14. Create or refresh the matching GitHub release.

566+

15. Dispatch Actions > `QA-Lab - All Lanes` against the release tag and wait

554567

for the mock parity, live Matrix, and live Telegram credentialed-channel

555568

lanes to pass.

556-

15. Start `.github/workflows/openclaw-npm-release.yml` from the release branch

569+

16. Start `.github/workflows/openclaw-npm-release.yml` from the release branch

557570

with `preflight_only=true`

558571

and choose the intended `npm_dist_tag` (`beta` default; `latest` only for

559572

an intentional direct stable publish). Wait for it to pass. Save that run id

560573

because the real publish requires it to reuse the prepared npm tarball.

561-

16. For stable releases, start `.github/workflows/macos-release.yml` in

574+

17. Before real publish, review the early performance run if it has completed.

575+

Compare against earlier release evidence or clawgrit reports where

576+

available. Call out minor regressions in the release proof; block on major

577+

regressions unless waived or proven noisy.

578+

18. For stable releases, start `.github/workflows/macos-release.yml` in

562579

`openclaw/openclaw` and wait for the public validation-only run to pass.

563-

17. For stable releases, start

580+

19. For stable releases, start

564581

`openclaw/releases-private/.github/workflows/openclaw-macos-validate.yml`

565582

with the same tag and wait for the private mac validation lane to pass.

566-

18. For stable releases, start

583+

20. For stable releases, start

567584

`openclaw/releases-private/.github/workflows/openclaw-macos-publish.yml`

568585

with `preflight_only=true` and wait for it to pass. Save that run id because

569586

the real publish requires it to reuse the notarized mac artifacts.

570-

19. If any preflight or validation run fails, fix the issue on a new commit,

587+

21. If any preflight or validation run fails, fix the issue on a new commit,

571588

delete the tag and matching GitHub release, recreate them from the fixed

572589

commit, and rerun all relevant preflights from scratch before continuing.

573590

Never reuse old preflight results after the commit changes. For pushed or

574591

published beta tags, do not delete/recreate; increment to the next beta tag.

575592

For preflight-only failures where npm did not publish the beta version,

576593

delete/recreate the same beta tag and prerelease at the fixed commit instead

577594

of skipping a prerelease number.

578-

20. Start `.github/workflows/openclaw-npm-release.yml` from the same branch with

595+

22. Start `.github/workflows/openclaw-npm-release.yml` from the same branch with

579596

the same tag for the real publish, choose `npm_dist_tag` (`beta` default,

580597

`latest` only when you intentionally want direct stable publish), keep it

581598

the same as the preflight run, and pass the successful npm

582599

`preflight_run_id`.

583-

21. Wait for `npm-release` approval from `@openclaw/openclaw-release-managers`.

584-

22. Run postpublish verification:

600+

23. Wait for `npm-release` approval from `@openclaw/openclaw-release-managers`.

601+

24. Run postpublish verification:

585602

`node --import tsx scripts/openclaw-npm-postpublish-verify.ts <published-version>`.

586-

23. Run the post-published beta verification roster. First scan current `main`

603+

25. Run the post-published beta verification roster. First scan current `main`

587604

for critical fixes that landed after the release branch cut; backport only

588605

important low-risk fixes before starting expensive lanes, or increment to

589606

the next beta if the fix must change the already-published package. If any

@@ -597,35 +614,35 @@ node --import tsx scripts/openclaw-npm-postpublish-verify.ts <published-version>

597614

If a pre-npm lane fails before any tag/package leaves the machine, fix and

598615

rerun the same intended beta attempt. Repeat up to the operator's

599616

authorized beta-attempt limit, normally 4.

600-

24. Announce the beta/stable release on Discord best-effort using the configured secret workflow.

601-

25. If the operator requested beta only, stop after beta verification and the

617+

26. Announce the beta/stable release on Discord best-effort using the configured secret workflow.

618+

27. If the operator requested beta only, stop after beta verification and the

602619

announcement.

603-

26. If the stable release was published to `beta`, use the light stable

620+

28. If the stable release was published to `beta`, use the light stable

604621

promotion roster when the matching beta already carried the full confidence

605622

pass: published npm postpublish verify, Docker install/update smoke,

606623

macOS-only Parallels install/update smoke, and required QA signal.

607624

Then start the private

608625

`openclaw/releases-private/.github/workflows/openclaw-npm-dist-tags.yml`

609626

workflow to promote that stable version from `beta` to `latest`, then

610627

verify `latest` now points at that version.

611-

27. If the stable release was published directly to `latest` and `beta` should

628+

29. If the stable release was published directly to `latest` and `beta` should

612629

follow it, start that same private dist-tag workflow to point `beta` at the

613630

stable version, then verify both `latest` and `beta` point at that version.

614-

28. For stable releases, start

631+

30. For stable releases, start

615632

`openclaw/releases-private/.github/workflows/openclaw-macos-publish.yml`

616633

for the real publish with the successful private mac `preflight_run_id` and

617634

wait for success.

618-

29. Verify the successful real private mac run uploaded the `.zip`, `.dmg`,

635+

31. Verify the successful real private mac run uploaded the `.zip`, `.dmg`,

619636

and `.dSYM.zip` artifacts to the existing GitHub release in

620637

`openclaw/openclaw`.

621-

30. For stable releases, download `macos-appcast-<tag>` from the successful

638+

32. For stable releases, download `macos-appcast-<tag>` from the successful

622639

private mac run, update `appcast.xml` on `main`, and verify the feed. Merge

623640

or cherry-pick release branch changes back to `main` after stable succeeds.

624-

31. For beta releases, publish the mac assets only when intentionally requested;

641+

33. For beta releases, publish the mac assets only when intentionally requested;

625642

expect no shared production

626643

`appcast.xml` artifact and do not update the shared production feed unless a

627644

separate beta feed exists.

628-

32. After publish, verify npm and the attached release artifacts.

645+

34. After publish, verify npm and the attached release artifacts.

629646630647

## GHSA advisory work

631648