chore(ci): Add round-robin reviewer auto-assignment#720
Merged
Conversation
Member
Author
|
@paleolimbot This is to enable (approx.) round-robin PR review assignment on SedonaDB. |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a secure GitHub Actions-based automation to request one reviewer per newly opened PR using a deterministic round-robin selection from a repo-managed list, implemented via the ASF-recommended pull_request + workflow_run split to support fork PRs safely.
Changes:
- Introduces a
pull_requestworkflow that captures PR metadata and uploads it as an artifact. - Introduces a
workflow_runworkflow (with write permissions) that reads the artifact, loads reviewers frommain, computes the assignee, and requests a review. - Adds
.github/reviewers.jsonas the single source of truth for the reviewer pool.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
.github/workflows/assign-reviewer.yml |
Captures PR number/author on PR open and uploads metadata artifact. |
.github/workflows/assign-reviewer-write.yml |
Downloads metadata from the prior run, reads trusted reviewer config from main, and requests a reviewer. |
.github/reviewers.json |
Defines the reviewer rotation list used by the assignment workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
paleolimbot
approved these changes
Mar 17, 2026
Member
paleolimbot
left a comment
There was a problem hiding this comment.
Happy to give this a try!
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.
Automatically assigns one reviewer per PR in round-robin from the list in
.github/reviewers.json.How it works:
assign-reviewer.yml(triggered bypull_request) captures PR number and author into an artifactassign-reviewer-write.yml(triggered byworkflow_run) reads the artifact, loads the reviewer list from the trustedmainbranch, computes the round-robin pick, and assigns the reviewerThis follows the ASF-recommended
pull_request+workflow_runsplit pattern to safely handle fork PRs without usingpull_request_target. See ASF GitHub Actions Security.To update the reviewer list, edit
.github/reviewers.json— no workflow changes needed.