Skip to content

Commit 97882e0

Browse files
committed
Adding a contributing and maintenance guide.
This is just a starting point. I'm sure we can keep on improving it. Personally for me, I just needed to have the "how to release" written up since I keep forgetting how to do it.
1 parent 3b8941a commit 97882e0

1 file changed

Lines changed: 101 additions & 0 deletions

File tree

CONTRIBUTING.rst

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
Contributing and Maintenance Guide
2+
==================================
3+
4+
Contribution in any form is welcome, including and not limited to code, ideas,
5+
documentation.
6+
7+
If you discovered a bug or have a feature request, please first `open an issue
8+
<https://github.com/brettcannon/gidgethub/issues>`_ before proceeding to
9+
create a pull request for it.
10+
11+
For ideas or general questions about the library, they can be discussed on
12+
`GitHub Discussions <https://github.com/brettcannon/gidgethub/discussions>`_.
13+
14+
15+
Contributing Guide
16+
------------------
17+
18+
Pull request workflow
19+
'''''''''''''''''''''
20+
21+
You don't have to be "assigned" to the issue in order to start working on
22+
a pull request. Ideally the issue has been discussed and agreed first
23+
before you start working on a pull request.
24+
25+
It is recommended that you work on a feature branch, instead of on the main
26+
branch.
27+
28+
Ensure that the tests are all passing, and that the coverage remains at 100%.
29+
30+
Update the documentation as needed.
31+
32+
Update the changelog as needed.
33+
34+
Preview the documentation on Read the Docs. This gets created as part of the CI
35+
of your pull request.
36+
37+
In your commit message or pull request description, mention the issue, by using
38+
one of the `GitHub-recognized keywords <https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword>`_
39+
like ``closes ...`` or ``fixes ...``.
40+
41+
42+
Maintenance Guide
43+
-----------------
44+
45+
Merging a pull request
46+
''''''''''''''''''''''
47+
48+
Ensure that the tests are all passing, and that the coverage remains at
49+
100% before merging the pull request.
50+
51+
Squash the commits. Rewrite the commit message if necessary.
52+
53+
Documentation build
54+
'''''''''''''''''''
55+
56+
The documentation is hosted at Read the Docs. Documentation build is triggered
57+
immediately after each commit to the main branch.
58+
59+
The up-to-date list of maintainers who can deploy or debug the documentation
60+
build can be seen on the project's `Read the Docs page
61+
<https://readthedocs.org/projects/gidgethub/>`_.
62+
63+
Releasing the library
64+
'''''''''''''''''''''
65+
66+
At the moment there is no fixed release schedule. If you were waiting for an
67+
unreleased feature or bugfix, you can request it to be released
68+
by opening an issue. One of the maintainers can respond and cut a release.
69+
70+
The up-to-date list of maintainers who can cut a release can be seen on the
71+
project's `PyPI page <https://pypi.org/project/gidgethub/>`_.
72+
73+
Pre-release:
74+
75+
- Ensure that the changelog is up-to-date.
76+
77+
- Ensure that the ``__version__`` number in ``gidgethub/__init__.py`` is up to date.
78+
79+
- Ensure the tests have passed and that coverage is at 100%.
80+
81+
Preparing for a release:
82+
83+
- Create a new branch for the release.
84+
85+
- Push the "release" branch to remote.
86+
87+
- Publish the package to PyPI. Use the command ``flit publish`` on the command line.
88+
89+
- `Draft a new release <https://github.com/brettcannon/gidgethub/releases/new>`_
90+
on GitHub, targeting the "release" branch. Include the changelog, and attach
91+
the binaries generated by ``flit``.
92+
93+
- Publish the release on GitHub.
94+
95+
Post-release:
96+
97+
- Bump the ``__version__`` number in ``gidgethub/__init__.py`` to include a
98+
``.dev`` or a ``.post`` suffix.
99+
100+
- Announce the release. (optional).
101+

0 commit comments

Comments
 (0)