fix(ci): add statuses:write permission to promote caller - #1070
Conversation
The reusable-promote-squash.yml@v1 now posts a validate commit status on the squash branch HEAD (so the merge queue accepts the PR without a re-trigger). The promote job requires statuses:write, but caller-level permissions are the maximum available to called workflow jobs. Without statuses:write in the caller, GitHub rejects the workflow at startup before any job runs (startup_failure on every dispatch). Assisted-by: Claude Sonnet 4.6 via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Warning Review limit reached
More reviews will be available in 12 minutes. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses rolling per-developer review limits. Reviews become available again as older review attempts age out of the rolling limit window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
Thanks for the PR! A maintainer will review it. While you wait, make sure these pass locally: just validate # element graph check
just build default # build the image
just boot-test # confirm the desktop boots (exits 0 = pass)
just lint # bootc container lintIf this PR fixes a bug, add verify steps to the linked issue so users can confirm the fix on their hardware after the next nightly ships: ```verify
ujust <something> # what users should run to confirm the fix
``` |
Problem
The
reusable-promote-squash.yml@v1was updated today (2026-06-23) to post avalidate=successcommit status on the squash branch HEAD, so the merge queue can accept the PR in the same run without re-triggering. This requiresstatuses: writein the promote job.Caller-level permissions set the maximum grants available to called workflow jobs.
promote-testing-to-main.ymldid not grantstatuses: write, so GitHub rejects the workflow at startup before any job runs (startup_failureon every dispatch).Root cause of PR #1055 being closed UNSTABLE: The
workflows: writepermission added in #1054 caused actionlint to fail (it's not in actionlint's known-scope list). The promote workflow detected the UNSTABLE lint check and eventually closed the stale PR oncetesting == main.Root cause of current startup_failures: Missing
statuses: writein the caller — all 3 retrigger attempts after 23:00 UTC fail at startup.Fix
Add
statuses: writetopromote-testing-to-main.yml's top-level permissions block.Verification
After merge, retrigger the promote workflow to confirm it runs (even if no-op since testing == main).
Closes #1055 (indirectly — fixes the promote pipeline)