Skip to content

Fix release docs reviewer routing - #1124

Merged
danbarr merged 3 commits into
mainfrom
fix-release-docs-reviewer-fyi
Sep 2, 2026
Merged

Fix release docs reviewer routing#1124
danbarr merged 3 commits into
mainfrom
fix-release-docs-reviewer-fyi

Conversation

@danbarr

@danbarr danbarr commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

Description

Fixes reviewer-routing regressions introduced by #1111 and exposed by #1120, without adding a PAT or organization-membership permission.

The workflow now treats GitHub's review-request response as the repository-access check and fails closed when GitHub cannot provide a reliable decision:

  • The release owner is always assigned and requested as a reviewer, including when their own commits are classified as non-docs-facing.
  • Each docs-facing contributor is requested directly. If GitHub specifically rejects the request because the contributor lacks repository access, the workflow maps every relevant full commit SHA to its merged upstream PR and requests the human merger as a stand-in.
  • Rate limits, server errors, malformed responses, and transport failures stop reviewer routing instead of being mistaken for access rejection.
  • A rejected docs-facing owner follows the same merger stand-in path as any other docs-facing contributor.
  • If no eligible stand-in can be requested, the PR body provides an explicit manual-routing action without @-mentioning the upstream contributor.
  • An unresolved release owner is counted as a routing issue so the PR cannot report that no action is required.
  • Non-docs-facing contributors are counted without being individually named or notified because they have no review action.
  • A missing, incomplete, invalid, or duplicate contributor classification in REVIEWERS.json falls back to requesting every release contributor.

Reviewer assignment now lives in a focused Python helper instead of inline workflow Bash. Regression tests cover access rejection versus operational API failure, unconditional owner review, docs-facing owner fallback, missing and invalid classification fallbacks, conflicting duplicate classifications, multiple docs-facing PRs, stand-in deduplication, non-docs-facing counts, unresolved owner handling, and unresolved stand-in routing.

Type of change

  • Bug fix (typo, broken link, etc.)

Related issues/PRs

Testing

  • python3 -m unittest discover -s .github/scripts -p 'test_*.py'
  • actionlint .github/workflows/upstream-release-docs.yml .github/workflows/_static-checks.yaml
  • zizmor .github/workflows/upstream-release-docs.yml .github/workflows/_static-checks.yaml
  • npm run prettier
  • npm run eslint
  • npm run build

Submitter checklist

Content and formatting

  • I have reviewed the content for technical accuracy
  • I have reviewed the content for spelling, grammar, and style

Reviewer checklist

Content

  • I have reviewed the content for technical accuracy
  • I have reviewed the content for spelling, grammar, and style

Copilot AI lite review requested due to automatic review settings August 27, 2026 19:07
@vercel

vercel Bot commented Aug 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs-website Ready Ready Preview Aug 28, 2026 2:41pm

Request Review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the .github/workflows/upstream-release-docs.yml reviewer assignment logic to avoid pinging external (non-collaborator) contributors for “no docs impact” commits, and to add a stand-in reviewer fallback when GitHub rejects review requests for non-collaborator docs-facing contributors.

Changes:

  • Restricts “No docs impact identified” @-mentions to docs-website collaborators; counts external contributors without mentioning them.
  • Adds stand-in reviewer resolution by finding the merger of the upstream PR containing a contributor’s first commit, and requests review from that merger when the contributor can’t be assigned.
  • Extends PR-body augmentation to include stand-in explanations and separate member vs external FYI counts.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/upstream-release-docs.yml Outdated
Use GitHub's review-request result as the repository-access check and route rejected docs-facing contributors to the human mergers of their specific upstream PRs. Keep owner and noisy fallback behavior, avoid contributor pings, and cover the routing cases with tests.
@danbarr
danbarr force-pushed the fix-release-docs-reviewer-fyi branch from 7c238d2 to 71a23f8 Compare August 27, 2026 20:28
@danbarr danbarr changed the title Fix reviewer FYI and stand-in logic in release docs Fix release docs reviewer routing Aug 27, 2026
@danbarr
danbarr requested a lite review from Copilot August 27, 2026 20:32
@danbarr
danbarr marked this pull request as ready for review August 27, 2026 20:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 3 comments.

Comment thread .github/workflows/upstream-release-docs.yml Outdated
Comment thread .github/scripts/assign_release_docs_reviewers.py Outdated
Comment thread .github/workflows/upstream-release-docs.yml Outdated

@jhrozek jhrozek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall. I found a few routing edge cases worth addressing before this workflow becomes the source of truth for review assignment.

Comment thread .github/scripts/assign_release_docs_reviewers.py Outdated
Comment thread .github/scripts/assign_release_docs_reviewers.py
Comment thread .github/scripts/assign_release_docs_reviewers.py
Comment thread .github/scripts/assign_release_docs_reviewers.py
@danbarr

danbarr commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator Author

@jhrozek thanks for the review! I've addressed the items you pointed out.

@danbarr
danbarr requested a review from jhrozek August 31, 2026 14:15
@danbarr
danbarr merged commit 995dafa into main Sep 2, 2026
13 checks passed
@danbarr
danbarr deleted the fix-release-docs-reviewer-fyi branch September 2, 2026 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants