-
Notifications
You must be signed in to change notification settings - Fork 11
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
Automatic retirement of Nixpkgs committers #91
Comments
Why not increase the scope a smidge and name it |
We can rename it later if we decide to use it for other teams as well :) Ideally we'd have #40 at some point, but I think that's a bit too ambitious for now. |
Why not manage team state in Nixpkgs itself? I won't count "it's not part of the productive code" because then the same would apply to |
@fricklerhandwerk I can't see what the advantage would be tbh. But a good reason against is security. Since only the Nixpkgs commit delegators should be allowed to change who's a committer, we'd need to set up restrictions for every other committer, and there's many pitfalls to that1. Nixpkgs CI is already very convoluted but so far not critical in managing permissions, this would change that. In comparison, it's trivial with a separate repo, because we can give exactly those people access that need it. Furthermore, while I don't propose changing the nomination process yet, if we want to switch it to a model where we open issues/PRs to request changes, it would be very hard for people to subscribe to committer nominations. Currently this is possible by subscribing to the nomination issue, while with a separate repo it's possible by watching the repository. And intuitively, managing access to something within that very thing sounds just like a bad idea when we have alternatives :) Footnotes
|
Thanks a lot for the elaboration. [idle comment] All of these items sound to me like constraints that happen to come with GitHub. Too bad we can't make computers do arbitrary things (and a lot of time to make them do exactly what we want)... 😉 |
To reduce toil and improve security, I'd like to spend some time to automate the retirement of inactive Nixpkgs committers, mostly in line with RFC 55 (and RFC 71). In this issue I'm describing the overall plan to implement this.
To go ahead with the implementation, I need explicit approval from:
Please 👍 this comment if it sounds good to you, or leave a comment for any concerns.
Plan
Primarily for the commit delegators to approve.
Declarative committers
Create https://github.com/NixOS/nixpkgs-committers to declare the committers and introduce automation to sync its state with the Nixpkgs committers team.
Automatic retirement
Set up automation that runs every month to:
Deviation and empowerment
Primarily for the SC to approve.
Deviation: Rolling window
The new plan is to have a rolling window over the last 12 months, while RFC 55 specified:
The reasons given are not relevant anymore with this plan:
Furthermore, this is fairer, because e.g. two people whose last commit was on 2023-01-01 and 2023-12-31 respectively aren't scheduled to lose their access at the same time on 2025-01-01 (which is ~2 years and ~1 year later respectively), but rather both after ~1 year.
Empowering the commit delegators for future deviations from RFCs
The commit delegators should get explicit authority to make any other commit delegation changes, even if they conflict previous RFCs, without needing further RFC or SC approval.
The text was updated successfully, but these errors were encountered: