Fail peer review check when a PR has more than 250 commits - #96
Merged
Merged
Conversation
GitHub's List commits on a pull request endpoint never returns more than 250 commits, no matter how it's paginated, so commit authorship (and therefore peer review) can't be reliably verified above that count.
Contributor
Author
|
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
roryabraham
marked this pull request as ready for review
August 6, 2026 23:48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Details
GitHub's List commits on a pull request endpoint never returns more than 250 commits, no matter how the request is paginated.
verifyPeerReview.tsuses that endpoint (vialistPullRequestCommits) to determine commit authors/co-authors, so on a PR with more than 250 commits it would silently miss authors past the 250th commit and could pass a review that isn't actually independently reviewed.This adds a
getPullRequestCommitCounthelper that reads thecommitsfield off the pull request resource itself (GET /repos/{owner}/{repo}/pulls/{pull_number}), which isn't subject to that 250-commit cap.evaluatePeerReviewnow checks this count before attempting to determine commit authors, and fails the check with an explanatory error if the PR exceeds 250 commits, asking the author to split the PR into smaller pieces.Related Issues
Fixes https://github.com/Expensify/Expensify/issues/668527
Handle the 250 commit limitation when inspecting PR commits
Manual Tests
Tested locally (from App repo):
Linked PRs
N/A