Skip to content

Hacktoberfest flooded this repository with pull requests #3609

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

Closed
amaank404 opened this issue Oct 21, 2020 · 43 comments
Closed

Hacktoberfest flooded this repository with pull requests #3609

amaank404 opened this issue Oct 21, 2020 · 43 comments

Comments

@amaank404
Copy link
Contributor

If possible can we all please focus on pull request and close the unnecessary ones

@amaank404
Copy link
Contributor Author

dear maintainers, if possible please check this issue out.

@cclauss @dhruvmanila

@cclauss
Copy link
Member

cclauss commented Oct 23, 2020

#2510 (comment)

We should have a GitHub Action that autocloses PRs that do not have tests.

Criteria:

  1. Search Python code for ">>> " and
  2. Search Python filenames for test_*.py or *_test.py

If both of those tests fail then the Action should autoclose the PR with a note pointing the contributor to CONTRIBUTING.md.

@amaank404
Copy link
Contributor Author

Oh. I did not know that. Bye! Have a great day ahead.

@dhruvmanila
Copy link
Member

dhruvmanila commented Oct 23, 2020

Sorry I've been a bit busy, lot of things going on. This seems like a good idea, I will get onto it. One more thing we should do is use labels extensively. This will give a short summary of what is happening in a given PR and it will become the first point of contact between a maintainer and a user.

  • Script for auto-closing PR which do not contain tests (any other conditions where auto-closing a PR would help?)
  • Auto-label PRs?: tests are failing (I have already written a script for this using PyGithub library), merge-conflicts (search auto label merge conflicts) ...,
  • Write a note for maintainers about the importance of labels
  • IDEA for Project Euler PRs: As we don't want to be flooded with PRs for beginner level problems, I restricted to not submit problems that exist in this repository. Users still do that so make a script which will close them.

@cclauss
Copy link
Member

cclauss commented Oct 23, 2020

any other conditions where auto-closing a PR

No annotations (type hints). I believe that this would require inspect or ast.

@amaank404
Copy link
Contributor Author

amaank404 commented Oct 23, 2020

Auto-labelling is a great idea, it highly simplifies the complete process of reviewing.

@amaank404
Copy link
Contributor Author

I was also thinking about this #3239, Any suggestions?

@poyea
Copy link
Member

poyea commented Oct 23, 2020

I see 10 open implementations for Problem 50 of Project Euler.

My opinion is for hacktoberfest-accepted, we may make it a bit lenient. I'm not sure if closing PRs with hacktoberfest-accepted tagged sounds logical or not.

@poyea
Copy link
Member

poyea commented Oct 23, 2020

@xcodz-dot There're some updates this year: https://hacktoberfest.digitalocean.com/hacktoberfest-update

@amaank404
Copy link
Contributor Author

Ok, thanks for letting me know. I logged into hactoberfest on 1st October and the article was released on 3rd October

@ronnydw
Copy link

ronnydw commented Oct 24, 2020

#2510 (comment)

We should have a GitHub Action that autocloses PRs that do not have tests.

Criteria:

  1. Search Python code for ">>> " and

  2. Search Python filenames for test_*.py or *_test.py

If both of those tests fail then the Action should autoclose the PR with a note pointing the contributor to CONTRIBUTING.md.

Please also include unittest and perhaps pytest. doctest are not the most beautiful way to add test code: http://www.rohitschauhan.com/index.php/2018/07/05/python-relative-benefits-of-pytest-unittest-nose-and-doctest/#:~:text=Pytest%20provides%20essentially%20the%20same,very%20easy%20to%20do%20so.

@cclauss
Copy link
Member

cclauss commented Oct 24, 2020

They are included in 2. above. Our automated testing uses pytest, not nose or unittest. Tests that follow pytest discovery rules will ensure that those PRs are not autoclosed.

Doctests are not pretty but they are more simple for first-time contributors to understand. Contributors are free to chose either kind of test but we do not need to confuse contributors but explaining both.

@amaank404
Copy link
Contributor Author

https://github.com/actions/stale
I found this, anyone who can implement it for PRs?

@dhruvmanila
Copy link
Member

This has already been implemented but the number of days before an issue becomes stale is 30 so it takes time to see the difference.

@amaank404
Copy link
Contributor Author

You are right but we need a action for PR (stale is implemented for issues only), #3707.

@dhruvmanila
Copy link
Member

Um, no. https://github.com/TheAlgorithms/Python/blob/master/.github/workflows/stale.yml
It is implemented both for PR and issues.

@amaank404
Copy link
Contributor Author

Whoops! thanks for letting me know. 😄

@amaank404
Copy link
Contributor Author

Please close these PRs
#3741 #3737 (they are duplicates of #3743) Those three PR's are made by the same person @agpeshal

@NumberPiOso
Copy link
Contributor

Is there any way we can help you with the pull requests ?

@cclauss
Copy link
Member

cclauss commented Oct 30, 2020

Anyone can review any pull request on any repo on GitHub.

Look at PRs that have passing tests and then near the top of the pull request click Files changed and read thru the changes... Are they clear? Are they an improvement? Are there tests? Do those tests cover a sensable set of cases (large numbers, small numbers, zero, negative numbers, integers, floating-point numbers, strings, empty strings, lists, tuples, dicts, etc.)? Are there type hints on all function parameters and return values?

When you have had a good read through the changes, click the Review changes button at the upper right and call 'em like you see 'em. Positive reviews will give maintainers confidence that you have read through the contribution and believe that it would help to improve the repo. Other comments can help the contributor to improve their work so that it is easier for visitors to read and easier for maintainers to review. Thx!

@sudoShikhar
Copy link
Contributor

@xcodz-dot Please help me with my PR #3706
Its been 8 days, pending for review.
Am i missing on something?

@cclauss cclauss changed the title This repository is flooding with pull requests Hacktoberfest flooded this repository with pull requests Nov 1, 2020
@cclauss
Copy link
Member

cclauss commented Nov 1, 2020

Hacktoberfest 2020 stats: started with 30 open PRs, ended with 521.

@sudoShikhar
Copy link
Contributor

Hacktoberfest 2020 stats: started with 30 open PRs, ended with 521.

I'd love to help up clear out the load of work!!

@amaank404
Copy link
Contributor Author

Try suggesting changes, review PRs, mention maintainers (not me) if it is good to go. Thanks.

@sudoShikhar
Copy link
Contributor

Try suggesting changes, review PRs, mention maintainers (not me) if it is good to go. Thanks.

On it.

@mrmaxguns
Copy link
Member

What is to be done to the pull requests whose authors have not followed the contribution guidelines and/or the code has invalid syntax?

@amaank404
Copy link
Contributor Author

@mrmaxguns, you can suggest changes, write messages regarding their checklist

@dhruvmanila
Copy link
Member

Some stats regarding the Hacktoberfest: 🔢

  • Total PRs opened: 1,208 [Current: 472 open]
  • Total PRs closed: 736
    • Total PRs merged: 165
    • Total PRs closed and unmerged: 571
    • This means 77% PRs closed were spam 😮
  • Total PRs labelled invalid: 198 (Most of them weren't even labelled)

@mrmaxguns
Copy link
Member

This is troubling considering the contribution guidelines are very detailed.

@cclauss
Copy link
Member

cclauss commented Nov 11, 2020

Oh, I do not agree. I think our high standards is what led to a lot of these PRs being considered spam. I see a ton of repos who take in any code without running any tests without requiring doctests, type hints, no plagerism. Those repos are useless but a ton of folks get free tee-shirts. I am really happy that we have high standards and that we do not dumb down our approach for Hacktoberfest.

@mrmaxguns
Copy link
Member

I agree. What I meant to say was that people should pay attention to the contribution guidelines before submitting a pull request so that it is easier for people to give them feedback.

@cclauss
Copy link
Member

cclauss commented Nov 11, 2020

In a perfect world...

@dhruvmanila
Copy link
Member

That is why we are trying to set up a bot in this repository so that the bot takes care of the lower-level stuff for us to focus on the actual algorithm. :)

@prashantdoshi28
Copy link

Hi all, I have a question regarding PRs.

Do we follow rule of 1 concept per PR sort of thing here or is it ok if a PR has multiple unrelated codes ?

If we don't allow such PRs, do we have any flag to mark them so maintainers can reject those straight away?

Thanks :)

@dhruvmanila
Copy link
Member

We have a label Multiple Algorithms Not Allowed in black :)

@prashantdoshi28
Copy link

prashantdoshi28 commented Nov 11, 2020

Another question, may sound dumb, but is there any documentation of labels we use, for example,

Multiple Algorithms Not Allowed : PR should be limited to single functionality only, multiple unrelated code in a PR not allowed.

If there is no such documentation, I can add it to repo, let me know.

Thanks :)

@dhruvmanila
Copy link
Member

Only members can add or update the labels. Thanks for the suggestion!

@amaank404
Copy link
Contributor Author

According to the rate of PR Reviews, I think this might take upto 130 days to bring back numbers to near 10.

@cclauss
Copy link
Member

cclauss commented Nov 20, 2020

Yeah but at least we will be prepared for the next Hacktoberfest.

@amaank404
Copy link
Contributor Author

Possibly, If any of you guys could suggest them an idea

TheAlgorithms/Java#1929

@amaank404
Copy link
Contributor Author

I am sure that pull requests are getting closed beacause of stale rather than our reviews. Although that's good 😄

@amaank404
Copy link
Contributor Author

time to close this

@cclauss
Copy link
Member

cclauss commented Dec 6, 2020

Yes. At least until 02 Oct. 2021.

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

No branches or pull requests

9 participants