Repository navigation
Require a unique full PR gate before merging - #28632
Conversation
📝 Walkthrough
Priority: ➖ Normal Merge Risk: 🔵 Low · up to
|
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Repository UI
- Review profile: CHILL
- Plan: Advanced
- Run ID:
00068117-7711-46a9-8940-48f6044e3029
📒 Files selected for processing: 4
.github/scripts/check-required-pr-context.mjs.github/workflows/pr.ymlAGENTS.mdconfig/scripts/required-pr-check-name.test.mjs
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 1 remain after this review.
ELI5
Require the complete PR checks under a new, unique name, so a passing Mobile check cannot unlock a PR whose main checks are pending or failed.
What Changed
Name the full PR aggregate
PR checks passed, keeping its internal job ID and all dependencies unchanged. Move the workflow-name guard from #28607 into the always-required repository checks and reserve the context exclusively for the full PR aggregate across all workflows. The sparse checkout includes the workflow files; the pinned Bun parser runs without installing root dependencies. Document an agent merge rule that verifies the exact commit and workflow before merging, even while repository CI requirements are optional.Why
#28543 merged after Mobile's
verifypassed while the full PR gate was still running and subsequently failed on obsolete translations. #28607 has merged after its full gate passed; it repairs the translations and renames Mobile toMobile verify. A fresh required PR context also prevents older runs that still published the ambiguousverifyfrom satisfying restored protection.Linked Issue
Follow-up to #28543 and #28607, requested by a maintainer in the CI incident thread.
Visual Proof
N/A — CI naming and agent instructions only; no application UI or behavior changes.
Testing
Review
The rename changes only the displayed status-check context. The ownership guard runs before path classification and readiness reuse, so workflow-only changes cannot skip it. Job-ID references and readiness reuse remain valid; source and workflow identity are still checked before reuse. Explicit user-authorized emergency exceptions remain possible; agents otherwise wait for the required aggregate on the exact head.
Review note: root
pnpm testalready delegates toconfig/scripts/run-vitest.mjs, which starts Bun and reports the pinned-runtime prerequisite when it is absent. The unit workflow installs that version before its test step. Cloud CI runs fromcloud/with its separate test suite, so it does not collect this root guard. The new test retains strict validation of the Bun entrypoint rather than skipping it.Agent skill upstream boundary
Notes
The prepared ruleset update requires
PR checks passedand repository guards from GitHub Actions. It preserves the previous non-strict update policy and all other current protections. It will be applied only after the fix passes full CI, as authorized by the maintainer.Checklist
Deployment verification
Merged after the full PR checks passed gate succeeded on exact head
da45959f0e03fe5e28087e02a4df5202d7082bc7. The first run had one unchanged hidden-Electron native-control popup test fail; its unchanged shard rerun passed. No test or timeout was changed.Restored the active main ruleset to require
PR checks passedanddetect changes and check repository guards, both from GitHub Actions (15368). Verified every other live protection unchanged and observed the previously nonblocking failed #28580 become blocked. The guard runs before path filtering and readiness reuse; the hosted setup took 2 seconds and validation finished within one second.