llvm-project
llvm-project copied to clipboard
How can we emulate Herald Rules with Pull Requests
- [x] Submit a feature request to GitHub for this #56635
- [ ] Implement a solution using existing Pull Request functionality.
@llvm/issue-subscribers-infrastructure
One option for at least file path herald rules would be to add CODEOWNERS, with or without making them blocking over all, which automatically review-requests anyone referenced. If they weren't blocking anyone could add themselves to changes they're interested in. This doesn't solve most of the herald filters though.
With Herald, you can subscribe to:
- File paths.
- Keywords in commit message.
- Patch authors.
Is this correct? Anything else?
For what it's worth, it looks like the Rust language team has build a nice solution with their rustbot (https://github.com/rustbot). It has many features including a feature to automatically assign reviewers (https://github.com/rust-lang/triagebot/wiki/Assignment#pr-assignment). Similarly, Nix has ofborg (https://github.com/apps/ofborg). For example, the bot adds a reviewer in https://github.com/NixOS/nixpkgs/pull/230966.
Let's start with a goal of allowing subscription based on file paths. I believe that will be the easiest to implement and is likely the most generally useful.
The CODEOWNERS files should be enough for that, wouldn't it?
@joker-eph Yes, seems like it would work for that.
While CODEOWNERS should work functionality-wise, anyone who wants to subscribe to paths would need to create a commit to subscribe to a folder or file. Is that really something we want?
@Flakebi We could also create teams for common file paths, so people wouldn't necessarily need to create a commit to subscribe, but it does seem like our best option for now.
This subscription issue has been extensively discussed on https://discourse.llvm.org/t/update-on-github-pull-requests/71540 even if not too many people have replied on that thread. I think we should have a very clear answer/documentation to address this issue.
If someone can recommend how to set up a filter for major email service providers like Gmail, that'll be really nice.