Skip to content

Commit 7db9e4f

Browse files
committed
Add release-making instructions
1 parent aebe501 commit 7db9e4f

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

.github/RELEASING.rst

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
Releasing asyncpg
2+
=================
3+
4+
When making an asyncpg release follow the below checklist.
5+
6+
1. Remove the ``.dev0`` suffix from ``__version__`` in ``asyncpg/__init__.py``.
7+
8+
2. Make a release commit:
9+
10+
.. code-block:: shell
11+
12+
$ git commit -a -m "asyncpg vX.Y.0"
13+
14+
Here, X.Y.0 is the ``__version__`` in ``asyncpg/__init__.py``.
15+
16+
3. Force push into the "releases" branch on Github:
17+
18+
.. code-block:: shell
19+
20+
$ git push --force origin master:releases
21+
22+
4. Wait for CI to make the release build. If there are errors,
23+
investigate, fix and repeat steps 2 through 4.
24+
25+
5. Prepare the release changelog by cleaning and categorizing the output of
26+
``.github/release_log.py``. Look at previous releases for examples
27+
of changelog formatting:
28+
29+
.. code-block:: shell
30+
31+
$ .github/release_log.py <previously-released-version-tag>
32+
33+
6. Make an annotated, signed git tag and use the changelog as the tag
34+
annotation:
35+
36+
.. code-block:: shell
37+
38+
$ git tag -s vX.Y.0
39+
<paste changelog>
40+
41+
7. Push the release commit and the new tag to master on Github:
42+
43+
.. code-block:: shell
44+
45+
$ git push --follow-tags
46+
47+
8. Wait for CI to publish the build to PyPI.
48+
49+
9. Edit the release on Github and paste the same content you used for
50+
the tag annotation (Github treats tag annotations as plain text,
51+
rather than Markdown.)
52+
53+
10. Open master for development by bumping the minor component of
54+
``__version__`` in ``asyncpg/__init__.py`` and appending the ``.dev0``
55+
suffix.

0 commit comments

Comments
 (0)