Skip to content

fix(ci): smooth PR runner-registration bursts#95625

Merged
vincentkoc merged 7 commits into
mainfrom
fix/ci-skip-empty-pr-commits
Jun 22, 2026
Merged

fix(ci): smooth PR runner-registration bursts#95625
vincentkoc merged 7 commits into
mainfrom
fix/ci-skip-empty-pr-commits

Conversation

@vincentkoc

@vincentkoc vincentkoc commented Jun 22, 2026

Copy link
Copy Markdown
Member

No description provided.

@vincentkoc
vincentkoc marked this pull request as ready for review June 22, 2026 01:24
@openclaw-barnacle openclaw-barnacle Bot added size: S maintainer Maintainer-authored PR labels Jun 22, 2026
@clawsweeper

clawsweeper Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed June 21, 2026, 10:47 PM ET / 02:47 UTC.

Summary
Adds GitHub Actions strategy.max-parallel caps to eight CI matrix jobs and a workflow guard test that asserts each cap.

PR surface: Tests +12, Config +8. Total +20 across 2 files.

Reproducibility: no. high-confidence live reproduction of runner-registration bursts was established. Source and GitHub Actions documentation confirm current main's matrices are uncapped and the PR bounds their fan-out.

Review metrics: 2 noteworthy metrics.

  • Matrix Concurrency Caps: 8 added. These workflow strategy caps directly change how many CI matrix jobs can register runners at once.
  • Guarded Caps: 8 asserted for 8 added. The latest head now guards every newly introduced cap, including the fast-core cap that was missing in the prior review.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🌊 off-meta tidepool
Patch quality: 🐚 platinum hermit
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • [P2] Let latest-head required checks finish green or explicitly reconcile any failures before merge.

Risk before merge

  • [P1] The new matrix caps intentionally trade peak CI throughput for smoother runner registration, so feedback time may increase if the chosen limits are too low.
  • [P1] The latest head still has required workflow checks pending or in progress; merge should wait for green results or explicit maintainer reconciliation.

Maintainer options:

  1. Merge After Checks With Capped Fan-Out (recommended)
    If maintainers accept the CI scheduling tradeoff, merge after the latest head's required checks pass or are explicitly reconciled.
  2. Tune Caps Before Merge
    If the current caps are too conservative, adjust the numeric limits and keep the guard test aligned before landing.

Next step before merge

  • [P2] This maintainer-labeled automation PR has no concrete repair finding left; maintainers need to accept the throughput tradeoff and wait for or reconcile latest-head checks.

Security
Cleared: No concrete security or supply-chain concern was found; the diff changes CI matrix strategy caps and a guard test without changing actions, permissions, secrets, dependency sources, or executable script bodies.

Review details

Best possible solution:

Land the capped fan-out policy only after latest-head checks are green or reconciled and maintainers accept the slower-peak-throughput tradeoff.

Do we have a high-confidence way to reproduce the issue?

No high-confidence live reproduction of runner-registration bursts was established. Source and GitHub Actions documentation confirm current main's matrices are uncapped and the PR bounds their fan-out.

Is this the best way to solve the issue?

Yes, with maintainer acceptance: strategy.max-parallel is the documented workflow-level control for matrix concurrency, and the latest head now guards every new cap. The remaining question is the operational throughput tradeoff, not a code defect.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 0f64e3c05202.

Label changes

Label justifications:

  • P2: This is a normal-priority CI automation improvement with limited product-runtime blast radius but meaningful maintainer workflow impact.
  • merge-risk: 🚨 automation: The diff changes GitHub Actions matrix concurrency, which can affect CI throughput and maintainer automation behavior after merge.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🌊 off-meta tidepool and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: The external-contributor real behavior proof gate does not apply to this repository-member maintainer PR; latest-head CI remains the relevant merge evidence.
Evidence reviewed

PR surface:

Tests +12, Config +8. Total +20 across 2 files.

View PR surface stats
Area Files Added Removed Net
Source 0 0 0 0
Tests 1 12 0 +12
Docs 0 0 0 0
Config 1 8 0 +8
Generated 0 0 0 0
Other 0 0 0 0
Total 2 20 0 +20

What I checked:

  • Live PR head advanced: Live GitHub metadata shows the current head is 72b2b00bf82c3e4c58777c532e27ad6aa0dae114, newer than the provided context; the latest diff adds eight workflow caps and thirteen guard-test lines. (72b2b00bf82c)
  • Current main lacks the cap: Current main has the checks-fast-core matrix strategy without max-parallel, and rg found no max-parallel entries in .github/workflows/ci.yml or the guard test on main. (.github/workflows/ci.yml:820, 0f64e3c05202)
  • PR workflow caps: The latest PR diff adds max-parallel caps of 4, 6, or 2 to the fast-core, plugin, channel, node nondist, check, additional, Windows, and Android matrix jobs. (.github/workflows/ci.yml:822, 72b2b00bf82c)
  • Guard coverage now complete: The latest PR diff includes the formerly missing checks-fast-core assertion, so the new guard test now covers all eight newly capped matrix jobs. (test/scripts/ci-workflow-guards.test.ts:107, 72b2b00bf82c)
  • GitHub Actions contract: GitHub's workflow syntax reference documents jobs.<job_id>.strategy.max-parallel and says GitHub otherwise maximizes matrix jobs based on runner availability, so the PR is using the right workflow-level scheduling knob. (docs.github.com)
  • Latest release does not include the cap: The latest release tag points at v2026.6.9; its CI workflow has the target matrix jobs but no max-parallel entries, so this remains current PR work rather than shipped behavior. (.github/workflows/ci.yml:812, c645ec4555c0)

Likely related people:

  • vincentkoc: Recent GitHub file history and local blame for the touched workflow and guard-test regions point to repeated CI workflow and guard maintenance by this account. (role: recent CI workflow contributor; confidence: high; commits: 2282fcd9ecb3, abb6f04e0cac, 76658cd1590c; files: .github/workflows/ci.yml, test/scripts/ci-workflow-guards.test.ts)
  • steipete: Recent commits changed CI shard splitting, quiet-stall retries, and fast-check routing on the same workflow feedback-time surface. (role: adjacent CI sharding contributor; confidence: medium; commits: e8120a72e1d8, d62bfab9467d, e24a9c5457d0; files: .github/workflows/ci.yml, test/scripts/ci-workflow-guards.test.ts)
  • hxy91819: A recent merged CI changed-scope PR touched the workflow and guard-test area that decides which CI lanes fan out. (role: adjacent CI changed-scope contributor; confidence: medium; commits: 8b29ff5f1691; files: .github/workflows/ci.yml, test/scripts/ci-workflow-guards.test.ts, scripts/ci-changed-scope.mjs)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 automation 🚨 May affect CI, automerge, proof capture, label sync, or maintainer automation. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Jun 22, 2026
@vincentkoc
vincentkoc force-pushed the fix/ci-skip-empty-pr-commits branch from 535d541 to 106db26 Compare June 22, 2026 01:52
@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Jun 22, 2026
@vincentkoc
vincentkoc force-pushed the fix/ci-skip-empty-pr-commits branch 2 times, most recently from 11a8b0d to e997463 Compare June 22, 2026 02:25
@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. labels Jun 22, 2026
@vincentkoc
vincentkoc force-pushed the fix/ci-skip-empty-pr-commits branch from e997463 to f6330b8 Compare June 22, 2026 02:41
@vincentkoc
vincentkoc merged commit a182811 into main Jun 22, 2026
142 of 152 checks passed
@vincentkoc
vincentkoc deleted the fix/ci-skip-empty-pr-commits branch June 22, 2026 02:53
@vincentkoc

Copy link
Copy Markdown
Member Author

Merged via squash.

Thanks @vincentkoc!

github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jun 22, 2026
Merged via squash.

Prepared head SHA: 72b2b00
Co-authored-by: vincentkoc <[email protected]>
Co-authored-by: vincentkoc <[email protected]>
Reviewed-by: @vincentkoc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintainer Maintainer-authored PR merge-risk: 🚨 automation 🚨 May affect CI, automerge, proof capture, label sync, or maintainer automation. P2 Normal backlog priority with limited blast radius. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. size: XS status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant