Changes to Pull Request Subscription System

I strongly support that we remove pr-subscribers-* from .github/CODEOWNERS and do it quickly, to prevent confusion and prevent users from relying on this work flow.
I think people can understand that things are a bit in flux as we started to use pull requests.

People who want new teams can update .github/new-prs-labeler.yml instead and check the existing labels and https://github.com/orgs/llvm/teams/issue-subscribers-* teams.

FWIW I have some notes how patch subscription works Reflections on LLVM's switch to GitHub pull requests | MaskRay

To enable component-based subscription, the llvm organization on GitHub has created multiple pr-subscribers-* teams, which users can freely join them. ( Note: A maintainer is supposed to accept every join request. Unfortunately, GitHub only displays the “pending request” information on the https://github.com/orgs/llvm/teams/pr-subscribers-* page and not on any other page. It’s not reasonable to expect a maintainer to routinely check the https://github.com/orgs/llvm/teams/pr-subscribers-* pages for pending join requests. So if they miss the email notification that says would like to join "LLVM", the request may remain pending indefinitely. )

Then we use label-based subscription. A GitHub action is set up to label every pull request, and these labels are used to notify pr-subscribers-* teams. For example, a pull request affecting clang/lib/Driver/XX will receive the labels clang and clang:driver, and the pr-subscribers-clang and pr-subscribers-clang:driver teams will be notified.

2 Likes