Skip to content

doc: Add GitHub pr template#14217

Merged
maflcko merged 1 commit into
bitcoin:masterfrom
maflcko:Mf1809-docPRtempl
Sep 28, 2018
Merged

doc: Add GitHub pr template#14217
maflcko merged 1 commit into
bitcoin:masterfrom
maflcko:Mf1809-docPRtempl

Conversation

@maflcko

@maflcko maflcko commented Sep 13, 2018

Copy link
Copy Markdown
Member

Bitcoin Core has a very thorough review process and even the most trivial change needs to pass a lot of eyes and requires non-zero or even substantial time effort to review. There is a huge lack of active reviewers on the project, so patches often sit for a long time.

Authors should provide clear motivation for patches and explain how it improves Bitcoin Core user experience or Bitcoin Core developer experience significantly.

@maflcko maflcko added the Docs label Sep 13, 2018
@maflcko maflcko force-pushed the Mf1809-docPRtempl branch 5 times, most recently from b632a20 to 77dc435 Compare September 13, 2018 22:52
@ryanofsky

Copy link
Copy Markdown
Contributor

No description provided.

Please provide clear motivation for this patch 😃

@PierreRochard

Copy link
Copy Markdown
Contributor

ACK

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

an/a typo

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Markdown nit:

2018-09-15 11:00:30 mdl(pr=14217): .github/PULL_REQUEST_TEMPLATE.md:13: MD006 Consider starting bulleted lists at the beginning of the line

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

2018-09-15 17:29:22 proselint(pr=14217): .github/PULL_REQUEST_TEMPLATE.md:4:20: weasel_words.very Substitute 'damn' every time you're inclined to write 'very;' your editor will delete it and the writing will be just as it should be. Found once elsewhere.

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

2018-09-15 17:29:22 proselint(pr=14217): .github/PULL_REQUEST_TEMPLATE.md:4:20: weasel_words.very Substitute 'damn' every time you're inclined to write 'very;' your editor will delete it and the writing will be just as it should be. Found once elsewhere.

@ken2812221

Copy link
Copy Markdown
Contributor

utACK c603130f7926b863198d10ac6fd707fc05a78ec6

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

a/an thorough explanation

@ken2812221

Copy link
Copy Markdown
Contributor

re-utACK fa0c680b9a566c3d272e28898777de94fcd0d342

@maflcko

maflcko commented Sep 20, 2018

Copy link
Copy Markdown
Member Author

Addressed all comment/feedback

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Not sure if I'm reading this right, but is the intention to say that a change needs to

  • significantly improve user experience
    or
  • significantly improve developer experience

or is it more that a change has to

  • improve user experience
    or
  • significantly improve developer experience

Because the way I read it is that significantly applies to both terms, but I imagine that significantly is only supposed to apply to the second term. Because why would you turn down a papercut fix that smoothes the UX a little?

IOW, maybe this could be rephrased to be less ambiguous

@jamesob

jamesob commented Sep 20, 2018

Copy link
Copy Markdown
Contributor

ACK fa0c680

It might be worth saying something about test coverage. I'm not sure what our established policy is here, but maybe something like:

* All changes should have accompanying unit tests (see `src/test/`) or functional tests (see `test/`). 
  PR authors should note which tests cover modified code. If no tests exist for a region of 
  modified code, new tests should accompany the change.

@jnewbery jnewbery left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ACK.

I've offered my preferred colour of paint for your shed. Feel free to use it or not.

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Please note that 'please note that' is conent-free in almost all circumstances, and is usually better left out. :)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'd also change 'are' to 'may be'

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'd move this to the end. The next paragraph 'Please provide clear motivation...' is more important.

@maflcko

maflcko commented Sep 20, 2018

Copy link
Copy Markdown
Member Author

Added the test coverage requirement.

@jamesob

jamesob commented Sep 20, 2018

Copy link
Copy Markdown
Contributor

reACK

@ryanofsky

Copy link
Copy Markdown
Contributor

It seems like this PR is doing two different things:

  1. Adding a pull request template suggesting information to be included with prs.
  2. Introducing a new policy ("Refactoring changes are only accepted...") of rejecting refactoring changes instead of just treating them with low priority.

I personally only like the first thing and not the second thing, but don't want to interfere if this is how maintainers want to handle PRs.

@maflcko

maflcko commented Sep 20, 2018

Copy link
Copy Markdown
Member Author

@ryanofsky The policy was introduced about a year ago: 91c39e3

@promag

promag commented Sep 21, 2018

Copy link
Copy Markdown
Contributor

LGTM

(restarted travis job)

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

"are always welcome, but might be rejected" is a bit awkward—I think it should note why features are rejected. For example, to keep the project from expanding in scope, as it dilutes focus and increases maintenance burden. Or that we don't want to add dependencies. Contributors should consider first whether it isn't possible to build system outside of the bitcoin core codebase.

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

👍

@laanwj

laanwj commented Sep 23, 2018

Copy link
Copy Markdown
Member

ACK (with nit)

@practicalswift

practicalswift commented Sep 23, 2018

Copy link
Copy Markdown
Contributor

Since this guide will influence the type of contributions we get: shouldn't we mention security work?

Personally I'm much more excited to see a PR submitted which strengthens the long term security of the project in some form compared to when I see a PR submitted which implements some shiny new feature :-)

The formulation "Features are always welcome […]" contrasted to "Bug fixes are most welcome when […]" sounds almost like we're encouraging new users to help expand the feature set of Core :-)

@maflcko

maflcko commented Sep 23, 2018

Copy link
Copy Markdown
Member Author

Addressed all feedback, hopefully.

@practicalswift

practicalswift commented Sep 23, 2018

Copy link
Copy Markdown
Contributor

Something that might be worth mentioning is the special security requirements/trade-offs that apply to changes to the consensus critical parts of the code base. Perhaps also mentioning the rough boundaries of the consensus critical code.

More specifically it might be worth mentioning why a change of type A would be an obvious ACK if applied to say the Qt part of the code base while it would be an obvious NACK if applied to the consensus critical part of the code base.

Basically to drive home the point that we're extremely focused on correctness and security for good reasons :-)

@maflcko

maflcko commented Sep 23, 2018

Copy link
Copy Markdown
Member Author

@practicalswift I believe this is covered in the contributions guideline: https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md#peer-review?

@DrahtBot

Copy link
Copy Markdown
Contributor
Coverage Change (pull 14217) Reference (master)
Lines -0.0066 % 87.0361 %
Functions +0.0618 % 84.1130 %
Branches -0.0180 % 51.5451 %

@maflcko maflcko merged commit fae9e84 into bitcoin:master Sep 28, 2018
maflcko pushed a commit that referenced this pull request Sep 28, 2018
fae9e84 doc: Add GitHub pr template (MarcoFalke)

Pull request description:

  Bitcoin Core has a very thorough review process and even the most trivial change needs to pass a lot of eyes and requires non-zero or even substantial time effort to review. There is a huge lack of active reviewers on the project, so patches often sit for a long time.

  Authors should provide clear motivation for patches and explain how it improves Bitcoin Core user experience or Bitcoin Core developer experience significantly.

Tree-SHA512: 83b379d75934089f13ba173e6ec847845f954f10f83e406ef9722836aa093170c612b4214f22cd5939d59f66a50f5d0e52aa0059423e8e7261bb176f1c546a08
@maflcko maflcko deleted the Mf1809-docPRtempl branch September 28, 2018 11:56
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jul 1, 2021
fae9e84 doc: Add GitHub pr template (MarcoFalke)

Pull request description:

  Bitcoin Core has a very thorough review process and even the most trivial change needs to pass a lot of eyes and requires non-zero or even substantial time effort to review. There is a huge lack of active reviewers on the project, so patches often sit for a long time.

  Authors should provide clear motivation for patches and explain how it improves Bitcoin Core user experience or Bitcoin Core developer experience significantly.

Tree-SHA512: 83b379d75934089f13ba173e6ec847845f954f10f83e406ef9722836aa093170c612b4214f22cd5939d59f66a50f5d0e52aa0059423e8e7261bb176f1c546a08
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jul 1, 2021
fae9e84 doc: Add GitHub pr template (MarcoFalke)

Pull request description:

  Bitcoin Core has a very thorough review process and even the most trivial change needs to pass a lot of eyes and requires non-zero or even substantial time effort to review. There is a huge lack of active reviewers on the project, so patches often sit for a long time.

  Authors should provide clear motivation for patches and explain how it improves Bitcoin Core user experience or Bitcoin Core developer experience significantly.

Tree-SHA512: 83b379d75934089f13ba173e6ec847845f954f10f83e406ef9722836aa093170c612b4214f22cd5939d59f66a50f5d0e52aa0059423e8e7261bb176f1c546a08
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.