Skip to content

Commit e546b56

Browse files
committed
Add GitHub issue and pull request templates, update CONTRIBUTING.md
1 parent 5739ee1 commit e546b56

File tree

3 files changed

+165
-18
lines changed

3 files changed

+165
-18
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
Thank you for using RabbitMQ and for taking the time to report an
2+
issue.
3+
4+
## Does This Belong to GitHub or RabbitMQ Mailing List?
5+
6+
*Important:* please first read the `CONTRIBUTING.md` document in the
7+
root of this repository. It will help you determine whether your
8+
feedback should be directed to the RabbitMQ mailing list [1] instead.
9+
10+
## Please Help Maintainers and Contributors Help You
11+
12+
In order for the RabbitMQ team to investigate your issue, please provide
13+
**as much as possible** of the following details:
14+
15+
* RabbitMQ version
16+
* Erlang version
17+
* RabbitMQ server and client application log files
18+
* A runnable code sample, terminal transcript or detailed set of
19+
instructions that can be used to reproduce the issue
20+
* RabbitMQ plugin information via `rabbitmq-plugins list`
21+
* Client library version (for all libraries used)
22+
* Operating system, version, and patch level
23+
24+
Running the `rabbitmq-collect-env` [2] script can provide most of the
25+
information needed. Please make the archive available via a third-party
26+
service and note that **the script does not attempt to scrub any
27+
sensitive data**.
28+
29+
If your issue involves RabbitMQ management UI or HTTP API, please also provide
30+
the following:
31+
32+
* Browser and its version
33+
* What management UI page was used (if applicable)
34+
* How the HTTP API requests performed can be reproduced with `curl`
35+
* Operating system on which you are running your browser, and its version
36+
* Errors reported in the JavaScript console (if any)
37+
38+
This information **greatly speeds up issue investigation** (or makes it
39+
possible to investigate it at all). Please help project maintainers and
40+
contributors to help you by providing it!
41+
42+
1. https://groups.google.com/forum/#!forum/rabbitmq-users
43+
2. https://github.com/rabbitmq/support-tools/blob/master/scripts/rabbitmq-collect-env

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
## Proposed Changes
2+
3+
Please describe the big picture of your changes here to communicate to the
4+
RabbitMQ team why we should accept this pull request. If it fixes a bug or
5+
resolves a feature request, be sure to link to that issue.
6+
7+
A pull request that doesn't explain **why** the change was made has a much
8+
lower chance of being accepted.
9+
10+
If English isn't your first language, don't worry about it and try to
11+
communicate the problem you are trying to solve to the best of your abilities.
12+
As long as we can understand the intent, it's all good.
13+
14+
## Types of Changes
15+
16+
What types of changes does your code introduce to this project?
17+
_Put an `x` in the boxes that apply_
18+
19+
- [ ] Bugfix (non-breaking change which fixes issue #NNNN)
20+
- [ ] New feature (non-breaking change which adds functionality)
21+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
22+
- [ ] Documentation (correction or otherwise)
23+
- [ ] Cosmetics (whitespace, appearance)
24+
25+
## Checklist
26+
27+
_Put an `x` in the boxes that apply. You can also fill these out after creating
28+
the PR. If you're unsure about any of them, don't hesitate to ask on the
29+
mailing list. We're here to help! This is simply a reminder of what we are
30+
going to look for before merging your code._
31+
32+
- [ ] I have read the `CONTRIBUTING.md` document
33+
- [ ] I have signed the CA (see https://cla.pivotal.io/sign/rabbitmq)
34+
- [ ] All tests pass locally with my changes
35+
- [ ] I have added tests that prove my fix is effective or that my feature works
36+
- [ ] I have added necessary documentation (if appropriate)
37+
- [ ] Any dependent changes have been merged and published in related repositories
38+
39+
## Further Comments
40+
41+
If this is a relatively large or complex change, kick off the discussion by
42+
explaining why you chose the solution you did and what alternatives you
43+
considered, etc.

CONTRIBUTING.md

Lines changed: 79 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,99 @@
1+
Thank you for using RabbitMQ and for taking the time to contribute to the project.
2+
This document has two main parts:
3+
4+
* when and how to file GitHub issues for RabbitMQ projects
5+
* how to submit pull requests
6+
7+
They intend to save you and RabbitMQ maintainers some time, so please
8+
take a moment to read through them.
9+
110
## Overview
211

12+
### GitHub issues
13+
14+
The RabbitMQ team uses GitHub issues for _specific actionable items_ that
15+
engineers can work on. This assumes the following:
16+
17+
* GitHub issues are not used for questions, investigations, root cause
18+
analysis, discussions of potential issues, etc (as defined by this team)
19+
* Enough information is provided by the reporter for maintainers to work with
20+
21+
The team receives many questions through various venues every single
22+
day. Frequently, these questions do not include the necessary details
23+
the team needs to begin useful work. GitHub issues can very quickly
24+
turn into a something impossible to navigate and make sense
25+
of. Because of this, questions, investigations, root cause analysis,
26+
and discussions of potential features are all considered to be
27+
[mailing list][rmq-users] material. If you are unsure where to begin,
28+
the [RabbitMQ users mailing list][rmq-users] is the right place.
29+
30+
Getting all the details necessary to reproduce an issue, make a
31+
conclusion or even form a hypothesis about what's happening can take a
32+
fair amount of time. Please help others help you by providing a way to
33+
reproduce the behavior you're observing, or at least sharing as much
34+
relevant information as possible on the [RabbitMQ users mailing
35+
list][rmq-users].
36+
37+
Please provide versions of the software used:
38+
39+
* RabbitMQ server
40+
* Erlang
41+
* Operating system version (and distribution, if applicable)
42+
* All client libraries used
43+
* RabbitMQ plugins (if applicable)
44+
45+
The following information greatly helps in investigating and reproducing issues:
46+
47+
* RabbitMQ server logs
48+
* A code example or terminal transcript that can be used to reproduce
49+
* Full exception stack traces (a single line message is not enough!)
50+
* `rabbitmqctl report` and `rabbitmqctl environment` output
51+
* Other relevant details about the environment and workload, e.g. a traffic capture
52+
* Feel free to edit out hostnames and other potentially sensitive information.
53+
54+
To make collecting much of this and other environment information, use
55+
the [`rabbitmq-collect-env`][rmq-collect-env] script. It will produce an archive with
56+
server logs, operating system logs, output of certain diagnostics commands and so on.
57+
Please note that **no effort is made to scrub any information that may be sensitive**.
58+
59+
### Pull Requests
60+
361
RabbitMQ projects use pull requests to discuss, collaborate on and accept code contributions.
462
Pull requests is the primary place of discussing code changes.
563

6-
## How to Contribute
7-
8-
The process is fairly standard:
64+
Here's the recommended workflow:
965

10-
* Fork the repository or repositories you plan on contributing to
11-
* Clone [RabbitMQ umbrella repository](https://github.com/rabbitmq/rabbitmq-public-umbrella)
12-
* `cd umbrella`, `make co`
66+
* [Fork the repository][github-fork] or repositories you plan on contributing to. If multiple
67+
repositories are involved in addressing the same issue, please use the same branch name
68+
in each repository
1369
* Create a branch with a descriptive name in the relevant repositories
14-
* Make your changes, run tests, commit with a [descriptive message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html), push to your fork
70+
* Make your changes, run tests (usually with `make tests`), commit with a
71+
[descriptive message][git-commit-msgs], push to your fork
1572
* Submit pull requests with an explanation what has been changed and **why**
16-
* Submit a filled out and signed [Contributor Agreement](https://github.com/rabbitmq/ca#how-to-submit) if needed (see below)
73+
* Submit a filled out and signed [Contributor Agreement][ca-agreement] if needed (see below)
1774
* Be patient. We will get to your pull request eventually
1875

19-
If what you are going to work on is a substantial change, please first ask the core team
20-
of their opinion on [RabbitMQ mailing list](https://groups.google.com/forum/#!forum/rabbitmq-users).
21-
76+
If what you are going to work on is a substantial change, please first
77+
ask the core team for their opinion on the [RabbitMQ users mailing list][rmq-users].
2278

2379
## Code of Conduct
2480

2581
See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).
2682

27-
2883
## Contributor Agreement
2984

30-
If you want to contribute a non-trivial change, please submit a signed copy of our
31-
[Contributor Agreement](https://github.com/rabbitmq/ca#how-to-submit) around the time
32-
you submit your pull request. This will make it much easier (in some cases, possible)
33-
for the RabbitMQ team at Pivotal to merge your contribution.
34-
85+
If you want to contribute a non-trivial change, please submit a signed
86+
copy of our [Contributor Agreement][ca-agreement] around the time you
87+
submit your pull request. This will make it much easier (in some
88+
cases, possible) for the RabbitMQ team at Pivotal to merge your
89+
contribution.
3590

3691
## Where to Ask Questions
3792

38-
If something isn't clear, feel free to ask on our [mailing list](https://groups.google.com/forum/#!forum/rabbitmq-users).
93+
If something isn't clear, feel free to ask on our [mailing list][rmq-users].
94+
95+
[rmq-collect-env]: https://github.com/rabbitmq/support-tools/blob/master/scripts/rabbitmq-collect-env
96+
[git-commit-msgs]: https://goo.gl/xwWq
97+
[rmq-users]: https://groups.google.com/forum/#!forum/rabbitmq-users
98+
[ca-agreement]: https://cla.pivotal.io/sign/rabbitmq
99+
[github-fork]: https://help.github.com/articles/fork-a-repo/

0 commit comments

Comments
 (0)