-
Notifications
You must be signed in to change notification settings - Fork 31
Define the inactive CODEOWNERS policy and add a script to check it #188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Some open questions:
|
|
Great work, thanks for taking this forward ❤️
IMO commits should surely be a factor of measuring maintainers' involvement
We can leave this until we setting up the workflow, and by that time we can achieve it with schedule |
| When inactive CODEOWNERS are identified, an issue should be created in the | ||
| community repository using this template: | ||
|
|
||
| ```markdown |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to extract these templates into separate markdown files and just reference them here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I can do that, but what would be the advantage of having it in a separate file?
|
Thank you so much for tackling this! The documentation looks good to me :)
Mhh, I'm actually not sure either. If you just submit a PR, that isn't really a "maintainer" activity (unless you do it to respond to an issue, but then surely you'd also respond in that issue). But I think having someone who just commits without actually reviewing any PRs / issues by others is not really something that'll happen (which, actually, we should probably exclude comments on one's own PR from counting?)
Also, do we run this centrally in the community repo, or in each repo's individual CI? I guess for the latter the script would need to live in rust-vmm-ci. I'm also fine with the former, but maybe then we should have something that queries the organization for all repositories, to make sure we don't miss any if new ones are added (although mostly a moot point given we want to go mono-repo). |
35565a3 to
c45d3c8
Compare
|
v2:
|
Yeah, same concern I had. @RuoqingHe are you okay if we remove the commits from the activity?
Good point, I'll add that to the filter on both PR and issues.
Not sure where to run honestly, for now it's kind of manual action, for that reason I put here near the documentation, but I can definitely move it in |
c45d3c8 to
7f6963f
Compare
|
v3:
|
That makes sense, I was thinking a maintainer having commits recently could be positive factor of showing he/her involvement in the project, but eventually, as a maintainer, they should be reviewing code and responding to issues, that's more like it. |
Introduces a Python script that checks CODEOWNERS against GitHub activity (reviews, PR/issue comments) over a configurable time period. Co-Authored-By: Claude <[email protected]> Signed-off-by: Stefano Garzarella <[email protected]>
The policy defines inactivity (1 year without review activity), outlines the removal process with notification periods, and provides templates for issue notifications and removal PRs. Also document the `check_inactive_codeowners.py` script usage for identifying inactive members. See #187 for more details. Signed-off-by: Stefano Garzarella <[email protected]>
7f6963f to
1617e12
Compare
|
v4:
|
|
Running the script on our organization (so on all repos), it takes around 14 mins. This is the summary generated: Full log is available here: https://pastebin.com/5JVfxLjF |
Add in the MAINTAINERS.md file the inactive CODEOWNERS policy and templates for issue notifications and removal PRs. Also add the
check_inactive_codeowners.py script (and documentation) to be used for identifying inactive members.
See #187 for more details.
Note: The script was written with the help of Claude. I added the Co-Authored-By tag, but since we don't have a policy yet, I don't know if it's necessary or not, especially since it's just a script and not part of our codebase.
Example of running the script on vhost repo:
Example with
--fastoption (faster but less accurate comment detection to reduce API calls)