From 82e996c2616af6254002065398de7cfb6929c4fd Mon Sep 17 00:00:00 2001 From: Kjeld Schouten-Lebbing Date: Mon, 30 Dec 2019 18:24:41 +0100 Subject: [PATCH] Improve Pull Request guidelines - Splits PR advice into two sections. - Add "co-authored-by" instructions. - Add description of draft PR and when using it is appropriate. - Reword ZFS Test Suite checklist question. - Link to zfs-tests.sh and zloop.sh. Reviewed-By: Marcel Schilling Reviewed-By: Brian Behlendorf Reviewed-By: Richard Laager Co-Authored-By: Marcel Schilling Co-Authored-By: Brian Behlendorf Co-Authored-By: Richard Laager Signed-off-by: Kjeld Schouten-Lebbing Closes #9753 --- .github/CONTRIBUTING.md | 28 +++++++++++++++++++++++++++- .github/PULL_REQUEST_TEMPLATE.md | 3 ++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 2b47d458c1..ee5a72c83f 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -120,6 +120,9 @@ Otherwise, open a new issue and describe your proposed feature. Why is this feature needed? What problem does it solve? ### Pull Requests + +#### General + * All pull requests must be based on the current master branch and apply without conflicts. * Please attempt to limit pull requests to a single commit which resolves @@ -133,7 +136,20 @@ logically independent patches which build on each other. This makes large changes easier to review and approve which speeds up the merging process. * Try to keep pull requests simple. Simple code with comments is much easier to review and approve. +* All proposed changes must be approved by a ZFS on Linux organization member. +* If you have an idea you'd like to discuss or which requires additional testing, consider opening it as a draft pull request. +Once everything is in good shape and the details have been worked out you can remove its draft status. +Any required reviews can then be finalized and the pull request merged. + +#### Tests and Benchmarks +* Every pull request will by tested by the buildbot on multiple platforms by running the [zfs-tests.sh and zloop.sh]( +https://github.com/zfsonlinux/zfs/wiki/Building-ZFS#running-zloopsh-and-zfs-testssh) test suites. +* To verify your changes conform to the [style guidelines]( +https://github.com/zfsonlinux/zfs/blob/master/.github/CONTRIBUTING.md#style-guides +), please run `make checkstyle` and resolve any warnings. +* Static code analysis of each pull request is performed by the buildbot; run `make lint` to check your changes. * Test cases should be provided when appropriate. +This includes making sure new features have adequate code coverage. * If your pull request improves performance, please include some benchmarks. * The pull request must pass all required [ZFS Buildbot](http://build.zfsonlinux.org/) builders before @@ -142,7 +158,6 @@ builder failures, you may be experiencing a [test suite issue](https://github.com/zfsonlinux/zfs/issues?q=is%3Aissue+is%3Aopen+label%3A%22Test+Suite%22). There are also various [buildbot options](https://github.com/zfsonlinux/zfs/wiki/Buildbot-Options) to control how changes are tested. -* All proposed changes must be approved by a ZFS on Linux organization member. ### Testing All help is appreciated! If you're in a position to run the latest code @@ -290,3 +305,14 @@ Git can append the `Signed-off-by` line to your commit messages. Simply provide the `-s` or `--signoff` option when performing a `git commit`. For more information about writing commit messages, visit [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/). + +#### Co-authored By +If someone else had part in your pull request, please add the following to the commit: +`Co-authored-by: Name ` +This is useful if their authorship was lost during squashing, rebasing, etc., +but may be used in any situation where there are co-authors. + +The email address used here should be the same as on the GitHub profile of said user. +If said user does not have their email address public, please use the following instead: +`Co-authored-by: Name <[username]@users.noreply.github.com>` + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 699ca90780..9b75a48f05 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -19,6 +19,7 @@ https://github.com/zfsonlinux/zfs/wiki/Buildbot-Options + ### Types of changes @@ -36,5 +37,5 @@ https://github.com/zfsonlinux/zfs/wiki/Buildbot-Options - [ ] I have updated the documentation accordingly. - [ ] I have read the [**contributing** document](https://github.com/zfsonlinux/zfs/blob/master/.github/CONTRIBUTING.md). - [ ] I have added [tests](https://github.com/zfsonlinux/zfs/tree/master/tests) to cover my changes. -- [ ] All new and existing tests passed. +- [ ] I have run the ZFS Test Suite with this change applied. - [ ] All commit messages are properly formatted and contain [`Signed-off-by`](https://github.com/zfsonlinux/zfs/blob/master/.github/CONTRIBUTING.md#signed-off-by).