Test-infra: required_reviewers on PRs

Created on 21 Jun 2018  路  18Comments  路  Source: kubernetes/test-infra

Proposal:
blunderbuss currently selects a certain number of reviewers from the reviewer pool. By design it doesn't select the same reviewers for every PR. However, there may be use cases (high sensitivity parts of the code base, such as API changes) where a person or github team should be cc'd on every PR that touches that part of the code.

I'd like to suggest that the OWNERS file be extended with a field for required_reviewers. Github users/teams that are listed in that section should always be added to the review list, in addition to the normal rotating reviewers (not instead of).

/area prow

areprow kinfeature sicontributor-experience

Most helpful comment

@cjwagner Yeah that's not quite what I'm looking for. I don't want to short circuit either the reviewers or approvers that would normally be assigned -- this would be additive.

@fejta It is similar to the CODEOWNERS behaviour with two key differences:

  • CODEOWNERS must have write access
  • CODEOWNERS aren't additive. It runs through the file top to bottom, and the last line that matches the file is chosen.

All 18 comments

cc @BenTheElder @cjwagner @matthyx @fejta

Interesting. I've had one previous request for a more advanced version of this to detect changes to flags and CC a particular reviewer.

This sounds useful and pretty straightforward to implement. Should it also support regex &/or globs so we can require reviews for specific files?

/sig contributor-experience
/kind feature

Yes, I was thinking so. I believe blunderbuss supports this already, but I think the approvers plugin doesn't.

The no_parent_owners field. May be of interest. It doesn't exactly match the behavior or what you are suggesting, but it does facilitate 'locking down' a sub directory.

This duplicate the behavior of CODE_OWNERS, does that matter?

@cjwagner Yeah that's not quite what I'm looking for. I don't want to short circuit either the reviewers or approvers that would normally be assigned -- this would be additive.

@fejta It is similar to the CODEOWNERS behaviour with two key differences:

  • CODEOWNERS must have write access
  • CODEOWNERS aren't additive. It runs through the file top to bottom, and the last line that matches the file is chosen.

CODEOWNERS must have write access

馃憥 馃檮 oh github

Wow, did not know about that write access requirement, that is a major point to mention next time someone asks about the difference...

Do we have a place to document these features? I saw @cjwagner speaking about doc improvement efforts during last SIG.

We have some documentation about OWNERS files here: https://github.com/kubernetes/test-infra/tree/master/prow/plugins/approve/approvers
I think that OWNERs file docs (not approve plugin specific) should live here though: https://github.com/kubernetes/test-infra/tree/master/prow/repoowners

I think we have consensus to move forward on this one. Marking as available for someone to pick up.

/help

Ok, then :-D
/remove-help /assign

/assign

/remove-help

You can do both commands in a single comment, they just need to be on separate lines

@matthyx

Do we have a place to document these features? I saw @cjwagner speaking about doc improvement efforts during last SIG

@cjwagner

We have some documentation about OWNERS files here: https://github.com/kubernetes/test-infra/tree/master/prow/plugins/approve/approvers
I think that OWNERs file docs (not approve plugin specific) should live here though: https://github.com/kubernetes/test-infra/tree/master/prow/repoowners [ed: nothing here at the moment]

There is also https://github.com/kubernetes/community/blob/master/contributors/guide/owners.md

I would rather we have just one doc. I like the one I'm linking, but I'm biased since I wrote it (based on the approvers doc, I honestly just forgot to nuke that). I recognize it mixes up the owners spec + how kubernetes uses owners + tools that use owners + (aspirational) owners file hygiene. And it's a doc, so predictably it's fallen out of date (regex filters aren't mentioned at all). Separate issue? I'm open to suggestion.

/close
@spiffxp will document in https://github.com/kubernetes/test-infra/issues/5333

Was this page helpful?
0 / 5 - 0 ratings

Related issues

BenTheElder picture BenTheElder  路  4Comments

zacharysarah picture zacharysarah  路  3Comments

MrHohn picture MrHohn  路  4Comments

sjenning picture sjenning  路  4Comments

xiangpengzhao picture xiangpengzhao  路  3Comments