RFC: New criteria for commit access

Thanks everyone for all the feedback. Here is version 2 of the proposal based on that feedback. I hope this will get us closer to a consensus.

Changes from v1

  • Clarified which repositories this applies to.
  • Kept requirement of 10 commits for obtaining commit access, but added that they must be 10 non-trivial commits at the discretion of the approver.
  • Dropped the requirement to retain commit access from 10 commits to 5 and also count approving a patch and merging someone else’s patch towards the 5 commit limit.
  • Users can ask to keep their commit access even if they are under the limit.
  • When commit access is revoked, users will be given the Triage role which lets them retain some permissions for interacting with issues.
  • A user who previously had commit access just needs to author one new commit.

Full Proposal

Out of scope

Having a group of people with the authority to grant commit access instead of just @clattner . It seems there is agreement that this should change, but that’s not a goal of this proposal.

Proposed Changes To Gaining/Retaining Commit Access

Relevant Repositories

This proposal applies to the following repositories in the LLVM organization:

  • cirt
  • llvm-lnt
  • llvm-project
  • llvm-project-ci-bridge
  • llvm-test-suite
  • llvm-www
  • llvm-zorg
  • torch-mlir
  • vscode-mlir

Requesting Commit Access

Users will file a GitHub issue requesting commit access. We will have automation that will assign the issue to @clattner and print a summary of the user’s commits in the project.

Requirements For Obtaining Commit Access

In order to be granted commit access, a user must have a total of 10 commits that are deemed to be non-trivial by @clattner or whoever is responsible for approving commit access. The definition of non-trival is up to the discretion of the approver.

Requirements For Retaining Commit Access

In order to retain commit access, a user must have a total of 5 repository ‘activities’ in the last 12 months. These activities can either:

  • Pushing a commit.
  • Merging a pull request (either their own or someone else’s).
  • Approving a PR.

Revoking Commit Access

We will have automation that files a github issue every month which tags any users that don’t meet the threshold for retaining commit access. If a user does not respond to the ticket within a week, their repository role will be changed from Write to Triage. This will remove their commit access but allow them to keep privileges to do other things like:

  • Apply/dismiss labels
  • Close, reopen, and assign all issues and pull requests
  • Apply milestones
  • Mark duplicate issues and pull requests
  • Request pull request reviews
  • Hide anyone’s comments

Re-Applying For Commit Access

In order to re-apply for commit access, a user in with the Triage role must first have a pull request merged into the project and then file a GitHub issue requesting to have their commit access restored.

Other Changes

We will add automation to remind reviewers to merge a PR when they approve one from an author without commit access.

1 Like