Test-infra: Post onboarding information for new contributors' first PR

Created on 16 Jun 2017  Â·  41Comments  Â·  Source: kubernetes/test-infra

There are so many PRs named Release 1.6 which are created by new contributors.

https://github.com/kubernetes/kubernetes/pull/47418
https://github.com/kubernetes/kubernetes/pull/46616
https://github.com/kubernetes/kubernetes/pull/45470
https://github.com/kubernetes/kubernetes/pull/45396
https://github.com/kubernetes/kubernetes/pull/45205
https://github.com/kubernetes/kubernetes/pull/44823
https://github.com/kubernetes/kubernetes/pull/44183
https://github.com/kubernetes/kubernetes/pull/43733
https://github.com/kubernetes/kubernetes/pull/43547
......

These PRs have the same name and the same info as below:
xx wants to merge xx commits into master from release-1.6

They're obviously created by some same mistake. The creator might haven't read the develop docs before they create the PR. They might not know where to find the docs.

We'd better let bot post some onboarding information when it detects a PR is created by a new contributor. So that they can know what's the correct process to create a PR. This will help them not make mistake next time whether their first process is correct or not.

xref:
https://github.com/kubernetes/contrib/issues/1090
https://github.com/kubernetes/kubernetes/issues/36596

/cc @bgrant0607 @ConnorDoyle @grodrigues3

areprow sicontributor-experience

Most helpful comment

Independently of detecting new contributors it may be useful to detect PRs to the wrong branch, PRs with excessive numbers of commits to the master branch, and other obvious mistakes.

All 41 comments

How do we know if it is their first PR? Might make for an interesting welcome plugin (maintain a list of seen users?)

I think the most workable solution right now is to make sure the default PR text points you to the contributor guide (which I think it already does now?)

AFAIK you can scrape GitHub for contributor data but there isn't a great way to check per user.
So we'd have to maintain a contributors database ourselves, which would probably be pretty clunky. Example of finding contributors here.
Edit wrong link, I was thinking of this.

Independently of detecting new contributors it may be useful to detect PRs to the wrong branch, PRs with excessive numbers of commits to the master branch, and other obvious mistakes.

PR Linter? I like it

Independently of detecting new contributors it may be useful to detect PRs to the wrong branch, PRs with excessive numbers of commits to the master branch, and other obvious mistakes.

Great idea!

/area prow

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

/remove-lifecycle stale

I don't think there's API access to this yet but they're definitely tracking first time contributors in the GitHub web interface now.

/sig contributor-experience

This came up again in #sig-contribex slack today, I think we could do this if we:

  • used a dedicated bot account to do the queries
  • just loaded the first page of results from searching for the user's PRs in the repo

If the number of results is exactly one and there are no other pages, it's a new contributor.

This would cost one extra token for every opened PR, which should definitely be very manageable on a dedicated account (it might even be manageable on the existing accounts?). Ex for @nikhita's PRs in test-infra (currently 12):

screen shot 2018-07-10 at 7 50 21 pm

/assign

. Ex for @nikhita's PRs in test-infra (currently 12)

That's weird because I only have 11 PRs in test-infra. All of them have been merged and none is open right now: https://github.com/kubernetes/test-infra/pulls?q=is%3Apr+author%3Anikhita+is%3Aclosed.

Ah, there's a typo in that, there shouldn't be a space after is:, which is not restricting it to PRs, so it's actually counting commits.

/remove-help

Implemented in #8643
/close

@stevekuznetsov: Closing this issue.

In response to this:

Implemented in #8643
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/reopen
we still need to enable and validate this feature, I can do that today
then we'll want to track getting a real, good welcome message configured

@BenTheElder: Reopening this issue.

In response to this:

/reopen
we still need to enable and validate this feature, I can do that today
then we'll want to track getting a real, good welcome message configured

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

https://github.com/kubernetes/test-infra/pull/9227 to enable testing this on test-infra

https://github.com/kubernetes/test-infra/pull/9231 did not work, I think
the query works but possibly we need to delay checking as the API does not immediately reflect this? we need to check for <= 1 instead of exactly 1 :grimacing:

can confirm that this works now https://github.com/kubernetes/test-infra/pull/9350#issuecomment-420543641

What's keeping this open at this point?

Seems like it's done. I'm okay to close it. @BenTheElder any other concerns ? Feel free to close it if needed.

We still need to _actually_ post onboarding info. The tooling works but the words need smithing :+)

@BenTheElder is the plugin deployed in k/website? I don't see the onboarding info in https://github.com/kubernetes/website/pull/10712

is the plugin deployed in k/website?

@xiangpengzhao Nope, only test-infra.

https://github.com/kubernetes/test-infra/blob/c4ad32d6b0c33710684781dc081e6309c1866faa/prow/plugins.yaml#L207-L210

Thanks @nikhita !

poke! this plugin seems to be working pretty well where it is deployed, we just need to do https://github.com/kubernetes/test-infra/issues/9367#issuecomment-455818805 and then roll it out more widely

this is basically done?

it might be rolled out more at some point, but the tooling is there and enabled for some repos at least.

this is basically done?

Yup. Thanks Ben and Guin! :)

/close

@nikhita: Closing this issue.

In response to this:

this is basically done?

Yup. Thanks Ben and Guin! :)

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

FWIW last I saw still it was still not enabled generally.

On Mon, Apr 15, 2019, 08:08 Kubernetes Prow Robot notifications@github.com
wrote:

@nikhita https://github.com/nikhita: Closing this issue.

In response to this
https://github.com/kubernetes/test-infra/issues/3083#issuecomment-483291544
:

this is basically done?

Yup. Thanks Ben and Guin! :)

/close

Instructions for interacting with me using PR comments are available here
https://git.k8s.io/community/contributors/guide/pull-requests.md. If
you have questions or suggestions related to my behavior, please file an
issue against the kubernetes/test-infra
https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:
repository.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/test-infra/issues/3083#issuecomment-483291561,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4Bq3VYfUCOhXfXt879mK05XLLjbl1Dks5vhJXagaJpZM4N7_va
.

/reopen

@nikhita: Reopened this issue.

In response to this:

/reopen

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Will follow up on this next week

FWIW last I saw still it was still not enabled generally.

Thought so too....but turns out it is :P

https://github.com/kubernetes/test-infra/blob/b23cfa09f0a7e71cebd9b92f85a6eae157f040b4/prow/plugins.yaml#L287-L294

/close

@nikhita: Closing this issue.

In response to this:

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

BenTheElder picture BenTheElder  Â·  4Comments

stevekuznetsov picture stevekuznetsov  Â·  3Comments

MrHohn picture MrHohn  Â·  4Comments

sjenning picture sjenning  Â·  4Comments

zacharysarah picture zacharysarah  Â·  3Comments