




















@@ -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>
5405496. Create `release/YYYY.M.D` from that post-changelog `main` commit.
5415507. Make every repo version location match the beta tag before creating it.
5425518. 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此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。