Skip to content

[Workflows] Enable commit access requests via GitHub issues #100458

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

Merged
merged 7 commits into from
Nov 19, 2024

Conversation

tstellar
Copy link
Collaborator

This updates the auto-labeler to match a specific issue title that is going to be used for requesting commit access and then add the infrastructure:commit-access-request label.

This will notify the admin team who will be able to handle the request.

See https://discourse.llvm.org/t/rfc-change-the-process-for-requesting-commit-access/80184

This updates the auto-labeler to match a specific issue title that
is going to be used for requesting commit access and then add the
infrastructure:commit-access-request label.

This will notify the admin team who will be able to handle the request.

See https://discourse.llvm.org/t/rfc-change-the-process-for-requesting-commit-access/80184
don't get notification from GitHub, go to
quality patches. If you would like commit access, please use this `link
<https://github.com/llvm/llvm-project/issues/new?title=Request%20Commit%20Access%20For%20<user>&body=%23%23%23%20Why%20Are%20you%20requesting%20commit%20access%20?>`_ to file
and issue and request commit access. Replace the <user> string in the title
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we ask for the list of merged PRs to simplify the review?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would the link get too complicated if we tried to link back to this document?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we ask for the list of merged PRs to simplify the review?

This is not currently required, and I'm trying to be careful not to change the commit access requirements in this PR. I just want to change the process.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would the link get too complicated if we tried to link back to this document?

It's possible, can you give me an example of what you think the full issue body should look like?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not currently required, and I'm trying to be careful not to change the commit access requirements in this PR. I just want to change the process.

Well, the policy is to have quality patches submitted. So, how we'd verify this? See e.g. #100457 (comment)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@asl I know that's what the documentation says, but that's not what's been happening in practice. There has been a lot of disagreement over what the commit access requirements should be and I don't want to restart this discussion just yet. I want to improve the process, but also keep the status quo as far as commit access requirements for now.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think in any case if the reviewer wants to get this piece of data it’s a fairly easy search on GitHub UI.

@@ -27,3 +27,6 @@

'bolt':
- '/\bbolt(?!\-)\b/i'

'infrastructure:commit-access-request':
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use a shorter label? Maybe infra:commit-access.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We already have the infrastructure label and I was trying to follow our convention of sub-labels. I think if we do s/infrastructure/infra/ here, then we should do it for all labels.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not insisting on infra in particular (even though I prefer it, and renaming labels is easy), but I do have general concerns over the length. Almost all the labels we have at the moment are at least as half as short of what is proposed here, and infrastructure eats a lot of space as a prefix.

I can rename existing infrastructure labels to infra if that's the only blocker.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll update the label to use the short name. Note that if we change the name of existing lables without changing the names of the pr-subscribers or issues-subscriber teams.

quality patches. If you would like commit access, please use this `link
<https://github.com/llvm/llvm-project/issues/new?title=Request%20Commit%20Access%20For%20<user>&body=%23%23%23%20Why%20Are%20you%20requesting%20commit%20access%20?>`_ to file
and issue and request commit access. Replace the <user> string in the title
with your github username, and explain why you are requesting commit access in
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and explain why you are requesting commit access in the issue description.

Should we drop this bit? The explanation is always going to be awkward for the user to write because it's basically going to boil down to "it makes my life easier to commit on my own" or "someone asked me to request commit access"; it doesn't seem like an explanation is going to help the admin team make a determination because they still need to validate that the request is reasonable regardless of explanation. (If the admin team thinks a request requires further explanation, they can leave a comment asking for it, but that doesn't need to be a documented part of the process.)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't disagree that the explanation may be awkward, but according to @lattner's description of how the current process works, users are asked for a justification.

I may be overly cautious here, but I've proposed changing the commit access requirements in the past, and since this proposal was rejected,
I'm trying really hard to not change or even give the impression of changing anything about the current process, because I don't want people to think I'm trying to backdoor changes into the process when that's not my intention.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have a strong opinion on this, but it is worth mentioning that reason I brought it up is because the current documented process does not require an explanation even if that's what Chris does in practice. It looked like a new requirement to me because the old docs don't mention it.

That said, I'm okay keeping it as well; I totally understand not wanting it to look like backdooring changes to the process (I don't think that's what's happening here!).

Copy link
Member

@Moxinilian Moxinilian Jul 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it’s just that when writing an email to Chris you typically wouldn’t just ask for permission and give a bit of context on who you are/why you need it, which tends to be natural in email-to-one-person format. It probably doesn’t fundamentally matter, especially if you’re asking from GitHub where it’s easy to see who you are in terms of LLVM contributions. At the same time if you offer to the requester the option to add some context (with one of those default-text GitHub issues for example), most people would have no problem filling it up ("I have made X contributions to the project so far and I find that having commit access would help me maintain this part of the codebase more easily.")

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In practice, people include rationale for getting commit access, but it is all over the map. It varies from:

  1. Here's a number of things I've submitted.
  2. My manager at (bigco) told me to apply, they are often cc'd
  3. Someone told on a list told me to apply so I can land my patches.

etc. When someone doesn't provide any rationale and there isn't anything obvious, I ask them what their plan is.

* Shorten label name
* Fix typos
@tstellar
Copy link
Collaborator Author

I think I've addressed the most of the comments. Based on the discussion about whether or not to ask for a justification for commit access, would it make sense to first land a separate PR, that brings the documentation up to date with reality. e.g.

s/We grant commit access to contributors with a track record of submitting high
quality patches./We grant commit access to contributors with a valid justification/

@tstellar
Copy link
Collaborator Author

I think I've addressed the most of the comments. Based on the discussion about whether or not to ask for a justification for commit access, would it make sense to first land a separate PR, that brings the documentation up to date with reality. e.g.

s/We grant commit access to contributors with a track record of submitting high
quality patches./We grant commit access to contributors with a valid justification/

Here is the PR to clarify the current commit access requirements: #101414

@tstellar
Copy link
Collaborator Author

tstellar commented Sep 3, 2024

I think I've addressed the most of the comments. Based on the discussion about whether or not to ask for a justification for commit access, would it make sense to first land a separate PR, that brings the documentation up to date with reality. e.g.

s/We grant commit access to contributors with a track record of submitting high
quality patches./We grant commit access to contributors with a valid justification/

Here is the PR to clarify the current commit access requirements: #101414

I've merged #101414 and updated this PR to include it now.

@tstellar
Copy link
Collaborator Author

Ping. Any other comments on this?

@tstellar
Copy link
Collaborator Author

Ping.

1 similar comment
@tstellar
Copy link
Collaborator Author

tstellar commented Nov 8, 2024

Ping.

Copy link
Collaborator

@AaronBallman AaronBallman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

tstellar and others added 2 commits November 11, 2024 11:10
Co-authored-by: Vlad Serebrennikov <[email protected]>
Co-authored-by: Vlad Serebrennikov <[email protected]>
@tstellar tstellar merged commit 6fe94c3 into llvm:main Nov 19, 2024
9 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 19, 2024

LLVM Buildbot has detected a new failure on builder openmp-s390x-linux running on systemz-1 while building .github,llvm at step 6 "test-openmp".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/88/builds/4737

Here is the relevant piece of the build log for the reference
Step 6 (test-openmp) failure: test (failure)
******************** TEST 'libomp :: tasking/issue-94260-2.c' FAILED ********************
Exit Code: -11

Command Output (stdout):
--
# RUN: at line 1
/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/./bin/clang -fopenmp   -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test -L /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/src  -fno-omit-frame-pointer -mbackchain -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/ompt /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/tasking/issue-94260-2.c -o /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/tasking/Output/issue-94260-2.c.tmp -lm -latomic && /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/tasking/Output/issue-94260-2.c.tmp
# executed command: /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/./bin/clang -fopenmp -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test -L /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -fno-omit-frame-pointer -mbackchain -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/ompt /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/tasking/issue-94260-2.c -o /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/tasking/Output/issue-94260-2.c.tmp -lm -latomic
# executed command: /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/tasking/Output/issue-94260-2.c.tmp
# note: command had no output on stdout or stderr
# error: command failed with exit status: -11

--

********************


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants