Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions .agents/skills/openclaw-ci-limits/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,17 @@ registration edge limit.

- The scarce resource is Blacksmith runner registrations, not Blacksmith vCPU
capacity.
- GitHub runner registrations for `openclaw` are currently capped at 3,000 per
5 minutes per repository, organization, or enterprise. The `openclaw`
- GitHub runner registrations for `openclaw` currently report a 10,000 per
5-minute bucket in `actions_runner_registration`. Verify the live bucket
before each tuning pass because GitHub can change it. The `openclaw`
organization shares one bucket.
- Core REST quota does not draw down this bucket. Check
`actions_runner_registration` separately; core quota can be healthy while
runner registration is throttled.
- Use 2,000 registrations per 5 minutes as the operating target. Leave the last
third for other repos, retries, and burst overlap.
- Use about 60% of the live bucket as the operating target. With the current
10,000-registration bucket, keep planned Blacksmith burst load under 6,000
registrations per 5 minutes and leave the rest for other repos, retries, and
burst overlap.
- Jobs that route, notify, summarize, choose shards, or run short CodeQL quality
scans should stay on GitHub-hosted runners unless measured evidence says
Blacksmith is required.
Expand Down Expand Up @@ -88,9 +91,10 @@ admission. The debounce only suppresses pushes that arrive while
registrations are spent even if a later push cancels the run. If timing is
uncertain, count every sequential push in the window.

Reject a change unless the org-level worst case stays below 2,000 registrations
per 5 minutes with headroom for ClawSweeper, ClawHub, Clownfish, OpenClaw RTT,
and Clawbench.
Reject a change unless the org-level worst case stays below about 60% of the
live bucket. With the current 10,000-registration bucket, keep planned
Blacksmith burst load under 6,000 registrations per 5 minutes with headroom for
ClawSweeper, ClawHub, Clownfish, OpenClaw RTT, and Clawbench.

## Safe Levers

Expand Down
15 changes: 9 additions & 6 deletions docs/ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,18 +145,21 @@ gh workflow run full-release-validation.yml --ref main -f ref=<branch-or-sha>

## Runner registration budget

OpenClaw's current GitHub runner-registration bucket allows 3,000 self-hosted
runner registrations per 5 minutes. The limit is shared by all Blacksmith runner
registrations in the `openclaw` organization, so adding another Blacksmith
installation does not add a new bucket.
OpenClaw's current GitHub runner-registration bucket reports 10,000 self-hosted
runner registrations per 5 minutes in `ghx api rate_limit`. Re-check
`actions_runner_registration` before each tuning pass because GitHub can change
this bucket. The limit is shared by all Blacksmith runner registrations in the
`openclaw` organization, so adding another Blacksmith installation does not add
a new bucket.

Treat Blacksmith labels as the scarce resource for burst control. Jobs that
only route, notify, summarize, select shards, or run short CodeQL scans should
stay on GitHub-hosted runners unless they have measured Blacksmith-specific
needs. Any new Blacksmith matrix, larger `max-parallel`, or high-frequency
workflow must show its worst-case registration count and keep the org-level
target below 2,000 registrations per 5 minutes, leaving headroom for concurrent
repositories and retried jobs.
target below about 60% of the live bucket. With the current 10,000-registration
bucket, that means a 6,000-registration operating target, leaving headroom for
concurrent repositories, retries, and burst overlap.

Canonical-repo CI keeps Blacksmith as the default runner path for normal push and pull-request runs. `workflow_dispatch` and non-canonical repository runs use GitHub-hosted runners, but normal canonical runs do not currently probe Blacksmith queue health or automatically fall back to GitHub-hosted labels when Blacksmith is unavailable.

Expand Down
Loading