Uh oh!
There was an error while loading. Please reload this page.
ci: unblock changesets release PRs - #3687
Conversation
Two problems were blocking the v4.5.0-rc.0 release PR (and would block every future release PR): 1. The changesets bot pushes commits authored by GITHUB_TOKEN, which by GitHub design cannot trigger downstream workflows. That leaves the required "All PR Checks" status permanently Expected. Self-report a success check from changesets-pr.yml after PR creation. If a human ever pushes to changeset-release/main, the real pr_checks.yml fires and its result overwrites the auto-success (last write wins for the same context on the same SHA). 2. vouch-check-pr.yml's require-draft job auto-closed any non-draft PR from authors with author_association != MEMBER/OWNER/COLLABORATOR, exempting only devin-ai-integration[bot] and dependabot[bot]. The changesets bot publishes as github-actions[bot] (CONTRIBUTOR) and was getting slammed shut on reopen. Add it to the exemption list.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📜 Recent review details⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
🔇 Additional comments (1)
WalkthroughThis PR modifies two GitHub Actions workflows. The Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
Backticks inside the single-quoted -f 'output[summary]=...' string looked like command substitution to shellcheck, tripping actionlint.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary
Two CI workflows were blocking the v4.5.0-rc.0 release PR (#3563) and would block every future changeset release PR.
1.
changesets-pr.yml— self-reportAll PR ChecksThe changesets bot pushes commits authored by
GITHUB_TOKEN. By GitHub design,GITHUB_TOKEN-authored pushes can't trigger downstream workflows (loop-prevention). That meanspr_checks.ymlnever fires on release-PR commits, leaving the requiredAll PR Checksstatus permanentlyExpected — Waiting for status to be reported. The PR can't merge.The fix: after
changesets/actioncreates the PR, post asuccesscheck with the exactAll PR Checkscontext onto the PR's head SHA. GitHub's required-check evaluation is satisfied by any check with the right context name — the source doesn't have to bepr_checks.yml.Why this is safe: the release PR only mechanically bumps
package.json,pnpm-lock.yaml, andCHANGELOG.mdfrom changesets that were already onmain(and already ran full CI when they merged). If a human ever pushes a commit tochangeset-release/main,pr_checks.ymlfires on that push (real user, notGITHUB_TOKEN) and posts its ownAll PR Checksstatus — last write wins for the same context on the same SHA, so the human-push result overrides the auto-success.2.
vouch-check-pr.yml— exemptgithub-actions[bot]The
require-draftjob auto-closes any non-draft PR whose author is not aMEMBER/OWNER/COLLABORATOR, with an explicit allowlist fordevin-ai-integration[bot]anddependabot[bot]. The changesets bot publishes asgithub-actions[bot]withauthor_association: CONTRIBUTOR, so every release PR was getting auto-closed on open with a "please re-open as draft" comment. Addgithub-actions[bot]to the exemption list.Test plan
changeset-release/mainshould postAll PR Checks: successon the release PR's head SHA, and the PR should not get auto-closed byVouch - Check PR.pr_checks.ymlstill fires + gates normal (human-authored) PRs tomain.