Skip to content

Commit 3e2396d

Browse files
committed
docs: Update release, contributing guides
Document the requirement to send an email to the list upon a release and to always send patches via email. Signed-off-by: Stephen Finucane <stephen@that.guru> Acked-by: Daniel Axtens <dja@axtens.net>
1 parent 75d7f4f commit 3e2396d

File tree

3 files changed

+63
-19
lines changed

3 files changed

+63
-19
lines changed

docs/development/contributing.rst

Lines changed: 42 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,26 @@ Testing
1919
-------
2020

2121
Patchwork includes a `tox`_ script to automate testing. This requires a
22-
functional database and some Python requirements like `tox`. Refer to
22+
functional database and some Python requirements like *tox*. Refer to
2323
:doc:`installation` for information on how to configure these.
2424

25-
You may also need to install `tox`. If so, do this now:
25+
You may also need to install *tox*. If so, do this now:
2626

2727
.. code-block:: shell
2828
29-
$ sudo pip install tox
29+
$ pip install --user tox
3030
3131
.. tip::
3232

33-
If you're using Docker, you may not need to install `tox`
33+
If you're using Docker, you may not need to install *tox*
3434
locally. Instead, it will already be installed inside the
35-
container. For Docker, you can run `tox` like so:
35+
container. For Docker, you can run *tox* like so:
3636

3737
.. code-block:: shell
3838
39-
$ docker-compose run web tox [ARGS...]
39+
$ docker-compose run --rm web tox [ARGS...]
40+
41+
For more information, refer to :ref:`installation-docker`.
4042

4143
Assuming these requirements are met, actually testing Patchwork is quite easy
4244
to do. To start, you can show the default targets like so:
@@ -70,17 +72,18 @@ this:
7072
7173
$ tox
7274
75+
7376
.. _release-notes:
7477

7578
Release Notes
7679
-------------
7780

78-
Patchwork uses `reno`_ for release note management. To use `reno`, you must
81+
Patchwork uses `reno`_ for release note management. To use *reno*, you must
7982
first install it:
8083

8184
.. code-block:: shell
8285
83-
$ sudo pip install reno
86+
$ pip install --user reno
8487
8588
Once installed, a new release note can be created using the ``reno new``
8689
command:
@@ -92,6 +95,7 @@ command:
9295
Modify the created file, removing any irrelevant sections, and include the
9396
modified file in your change.
9497

98+
9599
API
96100
---
97101

@@ -106,22 +110,47 @@ for more information.
106110
All API changes should be called out in :ref:`release notes
107111
<release-notes>` using the ``api`` section.
108112

113+
114+
Reporting Issues
115+
----------------
116+
117+
You can report issues to the :ref:`mailing list <mailing-lists>` or the `GitHub
118+
issue tracker`_.
119+
120+
109121
Submitting Changes
110122
------------------
111123

112-
All patches should be sent to the `mailing list`_. When doing so, please abide
113-
by the `QEMU guidelines`_ on contributing or submitting patches. This covers
114-
both the initial submission and any follow up to the patches. In particular,
115-
ensure:
124+
All patches should be sent to the :ref:`mailing list <mailing-lists>`. You must
125+
be subscribed to the list in order to submit patches. Please abide by the `QEMU
126+
guidelines`_ on contributing or submitting patches. This covers both the
127+
initial submission and any follow up to the patches. In particular, ensure:
116128

117129
* :ref:`All tests pass <testing>`
118130

119131
* Documentation has been updated with new requirements, new script names etc.
120132

121133
* :ref:`A release note is included <release-notes>`
122134

135+
Patches should ideally be submitted using the *git send-email* tool.
136+
137+
138+
.. _mailing-lists:
139+
140+
Mailing Lists
141+
-------------
142+
143+
Patchwork uses a single mailing list for development, questions and
144+
announcements.
145+
146+
patchwork@lists.ozlabs.org
147+
148+
Further information about the Patchwork mailing list is available can be found on
149+
`lists.ozlabs.org`_.
150+
123151
.. _tox: https://tox.readthedocs.io/en/latest/
124152
.. _reno: https://docs.openstack.org/developer/reno/
125-
.. _mailing list: https://ozlabs.org/mailman/listinfo/patchwork
126153
.. _QEMU guidelines: http://wiki.qemu.org/Contribute/SubmitAPatch
127154
.. _Django REST Framework documentation: http://www.django-rest-framework.org/api-guide/versioning/
155+
.. _GitHub issue tracker: https://github.com/getpatchwork/patchwork
156+
.. _lists.ozlabs.org: https://lists.ozlabs.org/listinfo/patchwork

docs/development/installation.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ To begin, you should clone Patchwork:
1212
1313
$ git clone git://github.com/getpatchwork/patchwork.git
1414
15+
16+
.. _installation-docker:
17+
1518
Docker-Based Installation
1619
-------------------------
1720

docs/development/releasing.rst

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,21 +43,26 @@ These version numbers are exposed via the API and it's possible to request a
4343
specific version in the URL. Refer to the `API Guide <../api/rest>` for more
4444
information.
4545

46+
4647
Release Cycle
4748
-------------
4849

4950
There is no cadence for releases: they are made available as necessary.
5051

52+
5153
Supported Versions
5254
------------------
5355

54-
Typically all development should occur on `master`. While we will backport
56+
Typically all development should occur on ``master``. While we will backport
5557
bugfixes and security updates, we will not backport any new features. This is
5658
to ensure stability for users of these versions of Patchwork.
5759

60+
5861
Release Checklist
5962
-----------------
6063

64+
The follow steps apply to all releases:
65+
6166
* Documentation has been updated with latest release version
6267

6368
* Documentation references latest supported version of Django
@@ -73,22 +78,29 @@ Release Checklist
7378
* A `GitHub Release`__, with text corresponding to an abbreviated form of the
7479
release notes for that cycle, has been created
7580

76-
The following only apply to full releases, or those where the `MAJOR` or
77-
`MINOR` number is incremented:
81+
* An email describing the release and top-level overview of the changes has
82+
been sent to the mailing list. Refer to the emails for `Patchwork v2.0.0`__
83+
and `Patchwork v2.0.1`__ for examples.
84+
85+
The following only apply to full releases, or those where the **MAJOR** or
86+
**MINOR** number is incremented:
7887

79-
* A new branch called `stable/MAJOR.MINOR` has been created from the tagged
88+
* A new branch called ``stable/MAJOR.MINOR`` has been created from the tagged
8089
commit
8190

8291
Once released, bump the version found in ``patchwork/__init__.py`` once again.
8392

8493
__ https://git-scm.com/book/en/v2/Git-Basics-Tagging
8594
__ https://github.com/getpatchwork/patchwork/releases/new
95+
__ https://lists.ozlabs.org/pipermail/patchwork/2017-August/004549.html
96+
__ https://lists.ozlabs.org/pipermail/patchwork/2017-December/004683.html
97+
8698

8799
Backporting
88100
-----------
89101

90102
We will occasionally backport bugfixes and security updates. When backporting a
91-
patch, said patch should first be merged into `master`. Once merged, you can
103+
patch, said patch should first be merged into ``master``. Once merged, you can
92104
backport by cherry-picking commits, using the ``-x`` flag for posterity:
93105

94106
.. code-block:: shell
@@ -101,5 +113,5 @@ when committing::
101113
Conflicts
102114
patchwork/bin/pwclient
103115

104-
When enough patches have been backported, you should release a new `PATCH`
116+
When enough patches have been backported, you should release a new **PATCH**
105117
release.

0 commit comments

Comments
 (0)