Skip to content

fix(actions): move registry retirement off saturated runner lane - #1684

Merged
seonghobae merged 4 commits into
mainfrom
fix/registry-retirement-runner-capacity-20260902
Sep 2, 2026
Merged

fix(actions): move registry retirement off saturated runner lane#1684
seonghobae merged 4 commits into
mainfrom
fix/registry-retirement-runner-capacity-20260902

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Move the protected-main one-shot hourly review-repair registry retirement from ubuntu-24.04 to ubuntu-slim after its post-refactor(actions): consolidate 18 hourly review-repair callers into one file #1673 migration job remained queued behind the saturated standard-runner control-plane backlog.
  • Preserve the existing privileged boundary unchanged: protected-main push only, actions: write + contents: read, no checkout/provider credentials, replacement-active proof before mutation, exact workflow identity enumeration, read-after-write verification, fail-closed unexpected-state handling, and self-disable last.
  • Add a regression contract that prevents this pending capacity-repair migration from drifting back onto ubuntu-24.04 or ubuntu-latest.
  • Record the Actions-capacity RCA and the cleanup condition in the existing doctoring record.

Live incident evidence

The migration run created by merged PR #1673, run 33589796226 / job 100121288663, remained queued on ubuntu-24.04 while the central Actions backlog was saturated. This one-shot exists specifically to retire 18 obsolete workflow registry identities, so leaving the retirement transaction on that same saturated lane creates an avoidable operability dependency.

Test plan

  • tests/test_hourly_review_repair_registry_retirement.py pins the runner and retains every existing privilege/state-transition invariant.
  • Ordinary repository required checks and independent reviews remain authoritative; no gate is weakened and no predecessor evidence is transferred.

Devin Review

@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 12 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: d5af8bf8-8f6c-44a4-9c00-4ae7facdd26a

📥 Commits

Reviewing files that changed from the base of the PR and between fb847d6 and 42612f4.

📒 Files selected for processing (3)
  • .github/workflows/hourly-review-repair-registry-retirement.yml
  • docs/doctoring/hourly-review-repair-registry-retirement.md
  • tests/test_hourly_review_repair_registry_retirement.py

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae seonghobae added bug Something isn't working priority: high High-priority or P1 work status: needs-review Open pull request requiring current-head review or checks type: bug Defect or incorrect behavior labels Sep 2, 2026 — with ChatGPT Codex Connector
@seonghobae
seonghobae merged commit 0f56950 into main Sep 2, 2026
8 of 28 checks passed
@seonghobae
seonghobae deleted the fix/registry-retirement-runner-capacity-20260902 branch September 2, 2026 05:54
seonghobae added a commit that referenced this pull request Sep 2, 2026
)

QUEUE_SATURATION_CHICKEN_EGG: exact head 265b5fa is mechanically mergeable, 0 behind current protected main at verification, and changes only the registry-retirement one-shot, its focused regression contract, and doctoring. Protected-main run 33596622523/job 100141255712 proved #1684 escaped the saturated runner lane but failed before mutation because the complete workflow registry returned zero matches for the first deleted legacy path. The repair treats zero legacy matches as terminally absent, exactly one as disable/read-back, duplicates as fail-closed, while replacement and self remain exact-one. Independent execution of the exact shell logic proved absent->success+self-disable, duplicate->fail-before-self-disable, and visible-active->disable+read-back; focused contract/YAML parsing also passed. There are no exact-head submitted reviews, CHANGES_REQUESTED reviews, or inline review comments, and no observed exact-head failing check; required/security workflows are queued in the same central capacity condition this migration must relieve. Active ruleset 17921150 permits OrganizationAdmin bypass. This merge bypasses only queue-bound admission evidence; it does not bypass a failing test, security finding, conflict, or substantive unresolved review objection.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority: high High-priority or P1 work status: needs-review Open pull request requiring current-head review or checks type: bug Defect or incorrect behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant