Skip to content

Commit ca97bb9

Browse files
authored
ARROW-70 Add Release Notes (#66)
1 parent e1ef1dc commit ca97bb9

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed

bindings/python/MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ exclude release.sh
88
exclude addtags.py
99
exclude benchmark.py
1010
exclude .flake8
11+
exclude RELEASE.rst
1112

1213
graft pymongoarrow
1314

bindings/python/RELEASE.rst

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
=====================
2+
PyMongoArrow Releases
3+
=====================
4+
5+
Versioning
6+
----------
7+
8+
PyMongoArrow's version numbers follow `semantic versioning <http://semver.org/>`_:
9+
each version number is structured "major.minor.patch". Patch releases fix
10+
bugs, minor releases add features (and may fix bugs), and major releases
11+
include API changes that break backwards compatibility (and may add features
12+
and fix bugs).
13+
14+
In between releases we add .devN to the version number to denote the version
15+
under development. So if we just released 2.3.0, then the current dev
16+
version might be 2.3.1.dev0 or 2.4.0.dev0. When we make the next release we
17+
replace all instances of 2.x.x.devN in the docs with the new version number.
18+
19+
https://www.python.org/dev/peps/pep-0440/
20+
21+
Release Process
22+
---------------
23+
24+
#. Ensure that the latest commit is passing CI on GitHub Actions as expected.
25+
26+
#. Check JIRA to ensure all the tickets in this version have been completed.
27+
28+
#. Add release notes to `doc/source/changelog.rst`. Generally just summarize/clarify
29+
the git log, but you might add some more long form notes for big changes.
30+
31+
#. Replace the `devN` version number w/ the new version number (see
32+
note above in `Versioning`_). Make sure version number is updated in
33+
`pymongoarrow/version.py`. Commit the change and tag the release.
34+
Immediately bump the version number to `dev0` in a new commit::
35+
36+
$ # Bump to release version number
37+
$ git commit -a -m "BUMP <release version number>"
38+
$ git tag -a "<release version number>" -m "BUMP <release version number>"
39+
$ # Bump to dev version number
40+
$ git commit -a -m "BUMP <dev version number>"
41+
$ git push
42+
$ git push --tags
43+
44+
#. Download the release assets from the "Python Wheels" Github Workflow, e.g.
45+
https://github.com/mongodb-labs/mongo-arrow/actions/runs/2060477840.
46+
47+
#. Upload all the release packages to PyPI with twine::
48+
49+
$ python3 -m twine upload dist/*
50+
51+
#. Make sure the new version appears on https://mongo-arrow.readthedocs.io/en/latest/. If the
52+
new version does not show up automatically, trigger a rebuild of "latest":
53+
https://readthedocs.org/projects/mongo-arrow/builds/
54+
55+
#. Bump the version number to <next version>.dev0 in version.py,
56+
commit, push.
57+
58+
#. Publish the release version in Jira.
59+
60+
#. Announce the release on:
61+
https://www.mongodb.com/community/forums/c/announcements/driver-releases
62+
63+
#. Create a GitHub Release for the tag using https://github.com/mongodb/mongo-arrow/releases/new.
64+
The title should be "PyMongoArrow X.Y.Z", and the description should contain
65+
a link to the release notes on the the community forum, e.g.
66+
"Release notes: mongodb.com/community/forums/t/pymongoarrow-0-1-1-released/104574."

0 commit comments

Comments
 (0)