15
15
16
16
You can find the list of bugs, enhancements and feature requests on the
17
17
`issue tracker <https://github.com/jazzband/django-oauth-toolkit/issues >`_. If you want to fix an issue, pick up one and
18
- add a comment stating you're working on it. If the resolution implies a discussion or if you realize the comments on the
19
- issue are growing pretty fast, move the discussion to the `Google Group <http://groups.google.com/group/django-oauth-toolkit >`_.
18
+ add a comment stating you're working on it.
20
19
21
20
Pull requests
22
21
=============
@@ -36,7 +35,46 @@ Now you can go to your repository dashboard on GitHub and open a pull request st
36
35
apply your pull request to the `master ` branch of django-oauth-toolkit (this should be the default behaviour of GitHub
37
36
user interface).
38
37
39
- Next you should add a comment about your branch, and if the pull request refers to a certain issue, insert a link to it.
38
+ When you begin your PR, you'll be asked to provide the following:
39
+
40
+ * Identify the issue number that this PR fixes (if any).
41
+ That issue will automatically be closed when your PR is accepted and merged.
42
+
43
+ * Provide a high-level description of the change. A reviewer should be able to tell what your PR does without having
44
+ to read the commit(s).
45
+
46
+ * Make sure the PR only contains one change. Try to keep the PR as small and focused as you can. You can always
47
+ submit additional PRs.
48
+
49
+ * Any new or changed code requires that a unit test be added or updated. Make sure your tests check for
50
+ correct error behavior as well as normal expected behavior. Strive for 100% code coverage of any new
51
+ code you contribute! Improving unit tests is always a welcome contribution.
52
+ If your change reduces coverage, you'll be warned by `coveralls <https://coveralls.io/ >`_.
53
+
54
+ * Update the documentation (in `docs/ `) to describe the new or changed functionality.
55
+
56
+ * Update `CHANGELOG.md ` (only for user relevant changes). We use `Keep A Changelog <https://keepachangelog.com/en/1.0.0/ >`_
57
+ format which categorizes the changes as:
58
+
59
+ * `Added ` for new features.
60
+
61
+ * `Changed ` for changes in existing functionality.
62
+
63
+ * `Deprecated ` for soon-to-be removed features.
64
+
65
+ * `Removed ` for now removed features.
66
+
67
+ * `Fixed ` for any bug fixes.
68
+
69
+ * `Security ` in case of vulnerabilities. (Please report any security issues to the
70
+ JazzBand security team `
<[email protected] > `. Do not file an issue on the tracker
71
+ or submit a PR until directed to do so.)
72
+
73
+ * Make sure your name is in `AUTHORS `.
74
+
75
+ If your PR is not yet ready to be merged mark it as a Work-in-Progress
76
+ By prepending `WIP: ` to the PR title so that it doesn't get inadvertently approved and merged.
77
+
40
78
The repo managers will be notified of your pull request and it will be reviewed, in the meantime you can continue to add
41
79
commits to your topic branch (and push them up to GitHub) either if you see something that needs changing, or in
42
80
response to a reviewer's comments. If a reviewer asks for changes, you do not need to close the pull and reissue it
@@ -87,6 +125,15 @@ Whenever you add code, you have to add tests as well. We cannot accept untested
87
125
situation you previously discussed with the core committers, if your pull request reduces the test coverage it will be
88
126
**immediately rejected **.
89
127
128
+ You can check your coverage locally with the `coverage <https://pypi.org/project/coverage/ >`_ package after running tox::
129
+
130
+ pip install coverage
131
+ coverage html -d mycoverage
132
+
133
+ Open mycoverage/index.html in your browser and you can see a coverage summary and coverage details for each file.
134
+
135
+ There's no need to wait for coveralls to complain after you submit your PR.
136
+
90
137
Code conventions matter
91
138
-----------------------
92
139
@@ -95,4 +142,5 @@ Try reading our code and grasp the overall philosophy regarding method and varia
95
142
the sake of readability, keep in mind that *simple is better than complex *. If you feel the code is not straightforward,
96
143
add a comment. If you think a function is not trivial, add a docstrings.
97
144
145
+
98
146
The contents of this page are heavily based on the docs from `django-admin2 <https://github.com/twoscoops/django-admin2 >`_
0 commit comments