Add GitHub templates, update CONTRIBUTING from rabbitmq-server

This commit is contained in:
Luke Bakken 2020-01-18 07:43:19 -08:00
parent 581c1d5e1e
commit e5de819975
3 changed files with 143 additions and 18 deletions

View File

@ -0,0 +1,21 @@
Thank you for using RabbitMQ.
**STOP NOW AND READ THIS** BEFORE OPENING A NEW ISSUE ON GITHUB
Unless you are CERTAIN you have found a reproducible problem in RabbitMQ or
have a **specific, actionable** suggestion for our team, you must first ask
your question or discuss your suspected issue on the mailing list:
https://groups.google.com/forum/#!forum/rabbitmq-users
Team RabbitMQ does not use GitHub issues for discussions, investigations, root
cause analysis and so on.
Please take the time to read the CONTRIBUTING.md document for instructions on
how to effectively ask a question or report a suspected issue:
https://github.com/rabbitmq/rabbitmq-server/blob/master/CONTRIBUTING.md#github-issues
Following these rules **will save time** for both you and RabbitMQ's maintainers.
Thank you.

View File

@ -0,0 +1,43 @@
## Proposed Changes
Please describe the big picture of your changes here to communicate to the
RabbitMQ team why we should accept this pull request. If it fixes a bug or
resolves a feature request, be sure to link to that issue.
A pull request that doesn't explain **why** the change was made has a much
lower chance of being accepted.
If English isn't your first language, don't worry about it and try to
communicate the problem you are trying to solve to the best of your abilities.
As long as we can understand the intent, it's all good.
## Types of Changes
What types of changes does your code introduce to this project?
_Put an `x` in the boxes that apply_
- [ ] Bug fix (non-breaking change which fixes issue #NNNN)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause an observable behavior change in existing systems)
- [ ] Documentation improvements (corrections, new content, etc)
- [ ] Cosmetic change (whitespace, formatting, etc)
## Checklist
_Put an `x` in the boxes that apply. You can also fill these out after creating
the PR. If you're unsure about any of them, don't hesitate to ask on the
mailing list. We're here to help! This is simply a reminder of what we are
going to look for before merging your code._
- [ ] I have read the `CONTRIBUTING.md` document
- [ ] I have signed the CA (see https://cla.pivotal.io/sign/rabbitmq)
- [ ] All tests pass locally with my changes
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] I have added necessary documentation (if appropriate)
- [ ] Any dependent changes have been merged and published in related repositories
## Further Comments
If this is a relatively large or complex change, kick off the discussion by
explaining why you chose the solution you did and what alternatives you
considered, etc.

View File

@ -1,38 +1,99 @@
Thank you for using RabbitMQ and for taking the time to contribute to the project.
This document has two main parts:
* when and how to file GitHub issues for RabbitMQ projects
* how to submit pull requests
They intend to save you and RabbitMQ maintainers some time, so please
take a moment to read through them.
## Overview
### GitHub issues
The RabbitMQ team uses GitHub issues for _specific actionable items_ that
engineers can work on. This assumes the following:
* GitHub issues are not used for questions, investigations, root cause
analysis, discussions of potential issues, etc (as defined by this team)
* Enough information is provided by the reporter for maintainers to work with
The team receives many questions through various venues every single
day. Frequently, these questions do not include the necessary details
the team needs to begin useful work. GitHub issues can very quickly
turn into a something impossible to navigate and make sense
of. Because of this, questions, investigations, root cause analysis,
and discussions of potential features are all considered to be
[mailing list][rmq-users] material. If you are unsure where to begin,
the [RabbitMQ users mailing list][rmq-users] is the right place.
Getting all the details necessary to reproduce an issue, make a
conclusion or even form a hypothesis about what's happening can take a
fair amount of time. Please help others help you by providing a way to
reproduce the behavior you're observing, or at least sharing as much
relevant information as possible on the [RabbitMQ users mailing
list][rmq-users].
Please provide versions of the software used:
* RabbitMQ server
* Erlang
* Operating system version (and distribution, if applicable)
* All client libraries used
* RabbitMQ plugins (if applicable)
The following information greatly helps in investigating and reproducing issues:
* RabbitMQ server logs
* A code example or terminal transcript that can be used to reproduce
* Full exception stack traces (a single line message is not enough!)
* `rabbitmqctl report` and `rabbitmqctl environment` output
* Other relevant details about the environment and workload, e.g. a traffic capture
* Feel free to edit out hostnames and other potentially sensitive information.
To make collecting much of this and other environment information, use
the [`rabbitmq-collect-env`][rmq-collect-env] script. It will produce an archive with
server logs, operating system logs, output of certain diagnostics commands and so on.
Please note that **no effort is made to scrub any information that may be sensitive**.
### Pull Requests
RabbitMQ projects use pull requests to discuss, collaborate on and accept code contributions.
Pull requests is the primary place of discussing code changes.
## How to Contribute
Here's the recommended workflow:
The process is fairly standard:
* Fork the repository or repositories you plan on contributing to
* Clone [RabbitMQ umbrella repository](https://github.com/rabbitmq/rabbitmq-public-umbrella)
* `cd umbrella`, `make co`
* [Fork the repository][github-fork] or repositories you plan on contributing to. If multiple
repositories are involved in addressing the same issue, please use the same branch name
in each repository
* Create a branch with a descriptive name in the relevant repositories
* Make your changes, run tests, commit with a [descriptive message](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html), push to your fork
* Make your changes, run tests (usually with `make tests`), commit with a
[descriptive message][git-commit-msgs], push to your fork
* Submit pull requests with an explanation what has been changed and **why**
* Submit a filled out and signed [Contributor Agreement](https://github.com/rabbitmq/ca#how-to-submit) if needed (see below)
* Submit a filled out and signed [Contributor Agreement][ca-agreement] if needed (see below)
* Be patient. We will get to your pull request eventually
If what you are going to work on is a substantial change, please first ask the core team
of their opinion on [RabbitMQ mailing list](https://groups.google.com/forum/#!forum/rabbitmq-users).
If what you are going to work on is a substantial change, please first
ask the core team for their opinion on the [RabbitMQ users mailing list][rmq-users].
## Code of Conduct
See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).
## Contributor Agreement
If you want to contribute a non-trivial change, please submit a signed copy of our
[Contributor Agreement](https://github.com/rabbitmq/ca#how-to-submit) around the time
you submit your pull request. This will make it much easier (in some cases, possible)
for the RabbitMQ team at Pivotal to merge your contribution.
If you want to contribute a non-trivial change, please submit a signed
copy of our [Contributor Agreement][ca-agreement] around the time you
submit your pull request. This will make it much easier (in some
cases, possible) for the RabbitMQ team at Pivotal to merge your
contribution.
## Where to Ask Questions
If something isn't clear, feel free to ask on our [mailing list](https://groups.google.com/forum/#!forum/rabbitmq-users).
If something isn't clear, feel free to ask on our [mailing list][rmq-users].
[rmq-collect-env]: https://github.com/rabbitmq/support-tools/blob/master/scripts/rabbitmq-collect-env
[git-commit-msgs]: https://chris.beams.io/posts/git-commit/
[rmq-users]: https://groups.google.com/forum/#!forum/rabbitmq-users
[ca-agreement]: https://cla.pivotal.io/sign/rabbitmq
[github-fork]: https://help.github.com/articles/fork-a-repo/