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

推荐订阅源

博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
美团技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
aimingoo的专栏
aimingoo的专栏
腾讯CDC
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
F
Fortinet All Blogs
G
Google Developers Blog
MongoDB | Blog
MongoDB | Blog
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
Engineering at Meta
Engineering at Meta
博客园_首页
B
Blog RSS Feed
D
Docker
M
MIT News - Artificial intelligence
爱范儿
爱范儿
I
InfoQ

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(release): harden release controls · openclaw/openclaw@...
vincentkoc · 2026-06-18 · via Recent Commits to openclaw:main

@@ -17,6 +17,10 @@ Use this skill for release and publish-time workflow. Load `$release-private` if

1717

- This skill should be sufficient to drive the normal release flow end-to-end.

1818

- Use the private maintainer release docs for credentials, recovery steps, and mac signing/notary specifics, and use `docs/reference/RELEASING.md` for public policy.

1919

- Core `openclaw` publish is manual `workflow_dispatch`; creating or pushing a tag does not publish by itself.

20+

- Do not edit the root `README.md` as release prep, release closeout, or a

21+

substitute for release notes. Package-root README validation is a hard

22+

packaging gate, but a release only changes README content when an actual

23+

user-facing documentation contract changed.

2024

- Normal release work happens on a branch cut from `main`, not directly on

2125

`main`. Use `release/YYYY.M.PATCH` for the branch name.

2226

- If the operator asks for a release without saying stable/full, default to

@@ -76,6 +80,44 @@ Use this skill for release and publish-time workflow. Load `$release-private` if

7680

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

7781

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

7882

infrastructure noise.

83+

- Heal CI before tagging or publishing. The exact candidate SHA must have green

84+

`Full Release Validation`, including the root Dockerfile/install-smoke path.

85+

Treat a red Docker, package, or release workflow lane as a release-branch

86+

defect until the smallest correct fix is landed and proven; do not waive it

87+

because npm preflight or another sibling lane passed.

88+

- Keep the canonical `scripts/pr` runner authoritative for prepare and merge

89+

artifacts. A release-gate policy change may use focused candidate tests and

90+

exact-SHA hosted CI for proof, but never route `prepare-*` or `merge-*`

91+

through PR-controlled scripts or synthesize prepare artifacts to bootstrap

92+

the change. If the current canonical gate cannot validate the new policy,

93+

stop for explicit maintainer direction rather than weakening that boundary.

94+

- In maintainer Testbox mode, use `OPENCLAW_TESTBOX=1 scripts/pr prepare-run

95+

<PR>` only after the exact PR head has passed `CI` and every scheduled

96+

hosted gate. For a workflow change, that means `Blacksmith Testbox`,

97+

`Blacksmith ARM Testbox`, `Blacksmith Build Artifacts Testbox`, and

98+

`Workflow Sanity`; only gates GitHub actually scheduled for that exact head

99+

are required. This preserves the canonical prepare artifacts while avoiding

100+

a redundant broad local suite. A

101+

literal `CHANGELOG.md`-only head gets a clean diff check instead because

102+

those workflows intentionally do not dispatch. Documentation and README

103+

changes still require CI. If `merge-run` requires a mainline sync, run

104+

`OPENCLAW_TESTBOX=1 scripts/pr prepare-sync-head <PR>`, wait for those hosted

105+

gates on the newly pushed SHA, then run `prepare-run` again.

106+

- If an exact PR-head CI run has no active jobs because Blacksmith capacity is

107+

stalled, a maintainer may dispatch the explicit GitHub-hosted fallback from

108+

the PR head branch:

109+

`gh workflow run ci.yml --repo openclaw/openclaw --ref <pr-head-branch> -f

110+

target_ref=<full-pr-sha> -f include_android=true -f release_gate=true`.

111+

Use it only for an observed provider queue stall, never for failed CI or as a

112+

routine shortcut. The run must be named `CI release gate <full-pr-sha>` and

113+

pass on that exact SHA; the native hosted-gate verifier rejects generic manual

114+

CI runs. If `Blacksmith Build Artifacts Testbox` is the only remaining

115+

required gate and it is still queued without a runner, the same completed

116+

fallback CI may cover it because its `build-artifacts` job builds, packages,

117+

and smoke tests those artifacts. The verifier records that coverage. Never

118+

use this coverage when the artifact workflow has started, failed, been

119+

cancelled, or been skipped. Then rerun `OPENCLAW_TESTBOX=1 scripts/pr

120+

prepare-run <PR>`.

79121

- Generate the changelog before every beta, beta rerun, stable release, or

80122

stable rerun, before version/tag preparation. Use

81123

`$openclaw-changelog-update` for the rewrite. Do not continue release prep if

@@ -119,6 +161,14 @@ Stable publication is not complete until `main` carries the actual shipped relea

119161

`OPENCLAW_TESTBOX=1 pnpm check:changed`. Push, then verify `origin/main`

120162

contains the shipped version and changelog before calling the stable release

121163

done.

164+

6. Keep repository variables `RELEASE_ROLLBACK_DRILL_ID` and

165+

`RELEASE_ROLLBACK_DRILL_DATE` current after each private rollback drill.

166+

`openclaw-stable-main-closeout.yml` starts from the `main` push carrying the

167+

shipped version, changelog, and appcast after stable publication, then binds

168+

immutable evidence to the published tag. Do not declare stable complete

169+

until it writes the immutable closeout manifest to the GitHub release. The

170+

drill must be within 90 days; manual dispatch is only for repair/replay, and

171+

private rollback commands remain in the maintainer-only runbook.

122172123173

## Handle versions and release files consistently

124174