This is an archive of the discontinued LLVM Phabricator instance.

[llvm][github] Add good-first-issue comment to issues
ClosedPublic

Authored by tbaeder on Mar 24 2023, 9:08 AM.

Details

Summary

Try adding a "good first issue" comment to github issues with that label, welcoming new contributors and listing a few first steps.

I think the actual comment needs some work, I wasn't sure if the steps I outlined can't be improved.

Also, the patch is completely untested since I'm not sure how I would test it at all.

Diff Detail

Event Timeline

tbaeder created this revision.Mar 24 2023, 9:08 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 24 2023, 9:08 AM
tbaeder requested review of this revision.Mar 24 2023, 9:08 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 24 2023, 9:08 AM

Something along the lines of "do not ask to work on an issue, if it is unassigned, you can start working on it" might be useful in the text as well...

Something along the lines of "do not ask to work on an issue, if it is unassigned, you can start working on it" might be useful in the text as well...

I think asking people to assign the issue to themselves when working on it would make sense.

Something along the lines of "do not ask to work on an issue, if it is unassigned, you can start working on it" might be useful in the text as well...

I think asking people to assign the issue to themselves when working on it would make sense.

I actually had this as step 1 of the instructions, no idea why it's not there anymore. I'll add it back.

Thank you for working on this, I think it's a really good idea! One issue I see with it though is that the GitHub issues list is used by multiple projects (llvm, clang, lldb, libc++, etc) but the way in which you contribute to these projects differ. So I think these instructions will work great for most folks, but we may want to consider the other projects and whether we need to adjust any wording here accordingly. (Personally, I think any project within the monorepo that diverges from the usual policies sufficiently enough to cause problems like this should either consider moving out of the monorepo or changing their policies to be in line with the rest of the monorepo, but that's a much bigger discussion than this patch. I think this patch kind of demonstrates why those policy differences cause friction for new contributors.)

llvm/utils/git/github-automation.py
34
36
38

Given that Phabricator may be unknown to folks new to the community, do we also want to add a link to https://llvm.org/docs/Phabricator.html somewhere in here or do we think the contributing guide should suffice?

tbaeder marked 3 inline comments as done.Mar 31 2023, 10:30 PM

Thank you for working on this, I think it's a really good idea! One issue I see with it though is that the GitHub issues list is used by multiple projects (llvm, clang, lldb, libc++, etc) but the way in which you contribute to these projects differ. So I think these instructions will work great for most folks, but we may want to consider the other projects and whether we need to adjust any wording here accordingly. (Personally, I think any project within the monorepo that diverges from the usual policies sufficiently enough to cause problems like this should either consider moving out of the monorepo or changing their policies to be in line with the rest of the monorepo, but that's a much bigger discussion than this patch. I think this patch kind of demonstrates why those policy differences cause friction for new contributors.)

Right, I was thinking the script could be more sophisticated and e.g. check that any of the labels are of the "clang:" kind - and then post clang-specific instructions, and do the same for lld, libc++, etc. but that's just not an exact science.

If these instructions are a problem for any of the subprojects, we can still iterate on them. Should I maybe add someone from lld/lldb/libc++/etc. to the CC here?

tbaeder updated this revision to Diff 510181.Mar 31 2023, 10:31 PM

Thank you for working on this, I think it's a really good idea! One issue I see with it though is that the GitHub issues list is used by multiple projects (llvm, clang, lldb, libc++, etc) but the way in which you contribute to these projects differ. So I think these instructions will work great for most folks, but we may want to consider the other projects and whether we need to adjust any wording here accordingly. (Personally, I think any project within the monorepo that diverges from the usual policies sufficiently enough to cause problems like this should either consider moving out of the monorepo or changing their policies to be in line with the rest of the monorepo, but that's a much bigger discussion than this patch. I think this patch kind of demonstrates why those policy differences cause friction for new contributors.)

Right, I was thinking the script could be more sophisticated and e.g. check that any of the labels are of the "clang:" kind - and then post clang-specific instructions, and do the same for lld, libc++, etc. but that's just not an exact science.

If these instructions are a problem for any of the subprojects, we can still iterate on them. Should I maybe add someone from lld/lldb/libc++/etc. to the CC here?

From what I've seen on the issues list for Clang, most of the time the person filing the issue is not the person adding labels to the issue. Instead, someone triaging the issues list sees there's a "new issue" label on something and they remove it and add the appropriate labels, including "good first issue".

So I think that maybe we should reword Thank you for your interest in working on this LLVM issue. into This issue may be a good introductory issue for people new to working on LLVM. If you would like to work on this issue, your first steps are: or something along those lines?

But this also points out that perhaps basing the text on labels is not going to work consistently; it's not uncommon to add "good first issue" before adding e.g., "lldb" and so it's reasonably possible we'd generate the text before we know the final set of labels on the issue.

tbaeder updated this revision to Diff 511004.Apr 5 2023, 12:25 AM
tbaeder set the repository for this revision to rG LLVM Github Monorepo.

The text bits LGTM, but I leave it to @tstellar for final approval given this is for github automation.

tstellar accepted this revision.Apr 10 2023, 8:56 AM

LGTM.

This revision is now accepted and ready to land.Apr 10 2023, 8:56 AM
This revision was landed with ongoing or failed builds.Apr 13 2023, 5:40 AM
This revision was automatically updated to reflect the committed changes.