|
1 | | -## Contributing to the MongoDB Ruby Driver |
| 1 | +# Contributing to the MongoDB Ruby Driver |
2 | 2 |
|
3 | 3 | Thank you for your interest in contributing to the MongoDB Ruby driver. |
4 | 4 |
|
5 | | -We are building this software together and strongly encourage contributions |
6 | | -from the community that are within the guidelines set forth below. |
| 5 | +We are building this software together and appreciate and encourage |
| 6 | +contributions from the community. |
7 | 7 |
|
8 | | -Bug Fixes and New Features |
9 | | --------------------------- |
| 8 | +JIRA Tickets |
| 9 | +------------ |
10 | 10 |
|
11 | | -Before starting to write code, look for existing [tickets] |
12 | | -(https://jira.mongodb.org/browse/RUBY) or [create one] |
13 | | -(https://jira.mongodb.org/secure/CreateIssue!default.jspa) |
14 | | -for your bug, issue, or feature request. This helps the community |
15 | | -avoid working on something that might not be of interest or which |
16 | | -has already been addressed. |
| 11 | +The Ruby driver team uses MongoDB JIRA to schedule and track work. |
| 12 | +To report a problem with the driver, please [create a new issue] |
| 13 | +(https://jira.mongodb.org/secure/CreateIssue!default.jspa) in the Ruby |
| 14 | +JIRA project. A ticket is appreciated, though not necessary, when submitting |
| 15 | +a pull request. |
| 16 | + |
| 17 | +Please consult [JIRA issues](https://jira.mongodb.org/browse/RUBY) |
| 18 | +for existing known issues in the driver. |
17 | 19 |
|
18 | 20 | Environment |
19 | 21 | ----------- |
20 | 22 |
|
21 | | -We highly suggest using [RVM](https://rvm.io/) or [rbenv] |
22 | | -(https://github.com/sstephenson/rbenv) to set up Ruby development and |
23 | | -testing environments. In this way, moving between and testing code for |
24 | | -alternate Ruby versions (besides the one possibly included with your |
25 | | -system) is simple. This practice is essential for ensuring the quality |
26 | | -of the driver. |
27 | | - |
28 | | -Pull Requests |
29 | | -------------- |
30 | | - |
31 | | -Pull requests should be made against the master (development) |
32 | | -branch and include relevant tests, if applicable. The driver follows |
33 | | -the Git-Flow branching model where the traditional master branch is |
34 | | -known as release and the master (default) branch is considered under |
35 | | -development. |
| 23 | +We recommend using [rbenv](https://github.com/sstephenson/rbenv) to set up |
| 24 | +the Ruby development and testing environments, though other tools like |
| 25 | +[RVM](https://rvm.io/) will also work. The driver currently supports |
| 26 | +MRI 1.9.3-2.6 and JRuby 9.1-9.2. |
36 | 27 |
|
37 | | -Tests should pass under all Ruby interpreters which the MongoDB Ruby |
38 | | -driver currently supports (1.8.7, 1.9.3, JRuby 1.6.x and 1.7.x) and will be |
39 | | -automatically tested. |
| 28 | +A MongoDB cluster is required to run the tests. Setup procedures and |
| 29 | +recommendations for various clusters, as well as how to configure the |
| 30 | +driver's test suite, are covered in the [spec |
| 31 | +readme](https://github.com/mongodb/mongo-ruby-driver/blob/master/spec/README.md). |
40 | 32 |
|
41 | | -The results of pull request testing will be appended to the request. |
42 | | -If any tests do not pass, or relavant tests are not included the pull |
43 | | -request will not be considered. |
| 33 | +The driver is tested on [Evergreen](https://github.com/evergreen-ci/evergreen), |
| 34 | +MongoDB's in house continuous integration platform. After a pull request |
| 35 | +is created, one of the Ruby driver team engineers will schedule continous |
| 36 | +integration builds on Evergreen. |
44 | 37 |
|
45 | | -Clusters and Replica Sets |
46 | | -------------------------- |
47 | | - |
48 | | -If your bug fix or enhancement deals with Cluster or Replica Set |
49 | | -code, please run all relevant tests for those code subsets before |
50 | | -issuing the request. |
51 | | - |
52 | | -* `rake test:sharded_cluster` for sharded clusters |
53 | | -* `rake test:replica_set` for replica sets |
| 38 | +Pull Requests |
| 39 | +------------- |
54 | 40 |
|
55 | | -Cluster and Replica Set testing is currently **not** automatically |
56 | | -performed so it is important they are run in a thorough fashion under |
57 | | -all supported interpreters before a pull request is made. |
| 41 | +Pull requests should be made against the master (development) branch and |
| 42 | +include relevant tests, if applicable. The Ruby driver team will backport |
| 43 | +the changes to the stable branches, if needed. |
58 | 44 |
|
59 | 45 | Talk To Us |
60 | 46 | ---------- |
61 | 47 |
|
62 | | -We love to hear from you. If you want to work on something or have |
63 | | -questions / complaints please reach out to us by creating a [question] |
64 | | -(https://jira.mongodb.org/secure/CreateIssue.jspa?pid=10005&issuetype=6). |
| 48 | +We would love to hear from you. If you want to work on something or have |
| 49 | +questions please reach out to us by creating a [question] |
| 50 | +(https://jira.mongodb.org/secure/CreateIssue.jspa?pid=10005&issuetype=6) |
| 51 | +in JIRA. |
0 commit comments