You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One-time maintainer-authorized bootstrap merge for the release-gate verifier policy. Exact hosted CI and all supporting workflow gates passed on 66133de.
Copy file name to clipboardExpand all lines: .agents/skills/release-openclaw-ci/SKILL.md
+37-4Lines changed: 37 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,25 @@ Use this with `$release-openclaw-maintainer` and `$openclaw-testing` when a rele
24
24
fails, the parent cancels the remaining child matrix and prints the failed
25
25
job summary. Inspect that first red job instead of waiting for unrelated
26
26
matrix tails.
27
+
- In a sparse worktree or Testbox source sync, first confirm `package.json`,
28
+
`pnpm-lock.yaml`, and every source path the selected check reads. If any are
29
+
absent, that checkout cannot validate a release dependency or Docker lane:
30
+
stop and use the repo remote changed gate or a full task worktree. When the
31
+
inputs are present and a release fix changes `package.json` or
32
+
`pnpm-lock.yaml`, rebuild only the task-owned disposable box with
33
+
`CI=true pnpm install --frozen-lockfile`, then run an explicit
34
+
`require.resolve()` probe before Docker or focused tests. The CI flag permits
35
+
pnpm to recreate a prewarmed modules directory without an interactive
36
+
confirmation. Do not weaken the lockfile or label sparse-checkout failures
37
+
as product/Docker failures.
38
+
- If the candidate is rebased or its base SHA changes after warmup, stop the
39
+
task-owned box and warm a fresh one before testing. Testbox source sync is
40
+
relative to the warmed source tree; continuing can mix an old base file with
41
+
a new candidate diff and produce false lockfile or Docker failures.
42
+
- For a committed release candidate, warm the box with
43
+
`blacksmith testbox warmup ... --ref <candidate-branch-or-sha>`. Do not rely
44
+
on source sync to overlay committed branch changes onto the workflow's
45
+
default ref.
27
46
28
47
## Preflight
29
48
@@ -57,7 +76,7 @@ gh workflow run openclaw-performance.yml \
57
76
-f repeat=3 \
58
77
-f deep_profile=false \
59
78
-f live_openai_candidate=false \
60
-
-f fail_on_regression=false
79
+
-f fail_on_regression=true
61
80
```
62
81
63
82
- Do not wait for full release validation to start this early perf signal.
@@ -66,8 +85,9 @@ gh workflow run openclaw-performance.yml \
66
85
- Call out any regression in the release proof. Treat a major regression as a
67
86
release blocker until it is fixed, waived by the operator, or proven to be
68
87
infrastructure noise.
69
-
- Full Release Validation also records advisory product-performance evidence;
70
-
the early standalone run is for overlap and faster regression discovery.
88
+
- Full Release Validation records blocking product-performance evidence. The
89
+
early standalone run is for overlap and faster regression discovery, but a
90
+
regression or missing child run blocks the parent validation.
71
91
72
92
Prefer the trusted workflow on `main`, target the exact release SHA:
73
93
@@ -89,7 +109,7 @@ gh workflow run full-release-validation.yml \
89
109
-f rerun_group=all
90
110
```
91
111
92
-
Use `release_profile=stable` unless the operator explicitly asks for the broad advisory provider/media matrix. Use narrow `rerun_group` after focused fixes.
112
+
Use `release_profile=stable` unless the operator explicitly asks for the broad advisory provider/media matrix. Stable and full profiles force the release soak; the beta profile may opt in with `run_release_soak=true`. Use narrow `rerun_group` after focused fixes.
93
113
Publish with `openclaw-release-publish.yml` using `release_profile=from-validation`
94
114
unless a maintainer intentionally wants to cross-check a specific profile; the
95
115
publish workflow reads the effective profile from the full-validation manifest.
@@ -125,6 +145,19 @@ Stop watchers before ending the turn or switching strategy.
125
145
Anthropic API-key lane.
126
146
5. For live-cache failures, inspect whether it is missing/invalid key, empty text, provider refusal, timeout, or baseline miss. Do not weaken release gates without clear provider evidence.
127
147
6. Fix narrowly, run local/changed proof, commit, push, rerun the smallest matching group.
148
+
7. If a required PR CI run is capacity-stalled with queued jobs and no active
149
+
jobs, do not cancel unrelated work or accept a generic manual dispatch.
150
+
From the PR head branch, dispatch the explicit exact-SHA fallback:
151
+
`gh workflow run ci.yml --repo openclaw/openclaw --ref <pr-head-branch> -f
Copy file name to clipboardExpand all lines: .agents/skills/release-openclaw-maintainer/SKILL.md
+50Lines changed: 50 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,10 @@ Use this skill for release and publish-time workflow. Load `$release-private` if
17
17
- This skill should be sufficient to drive the normal release flow end-to-end.
18
18
- Use the private maintainer release docs for credentials, recovery steps, and mac signing/notary specifics, and use `docs/reference/RELEASING.md` for public policy.
19
19
- 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.
20
24
- Normal release work happens on a branch cut from `main`, not directly on
21
25
`main`. Use `release/YYYY.M.PATCH` for the branch name.
22
26
- 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
76
80
or clawgrit reports. Report regressions explicitly. A major regression is a
77
81
release blocker unless the operator waives it or the data clearly proves
78
82
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
0 commit comments