-
Notifications
You must be signed in to change notification settings - Fork 10
/
HOW_TO_RELEASE
43 lines (42 loc) · 2.16 KB
/
HOW_TO_RELEASE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
How to issue a pyxpcm release
1. Ensure your master branch is synced to upstream:
git pull upstream master
2. Look over whats-new.rst and the docs. Make sure "What's New" is complete
(check the date!) and consider adding a brief summary note describing the
release at the top.
Things to watch out for:
- Important new features should be highlighted towards the top.
- Function/method references should include links to the API docs.
- Sometimes notes get added in the wrong section of whats-new, typically
due to a bad merge. Check for these before a release by using git diff,
e.g., ``git diff v0.X.Y whats-new.rst`` where 0.X.Y is the previous
release.
- You can compare the master branch with the last release tag, eg: https://github.com/obidam/pyxpcm/compare/v0.4.0...master
3. If you have any doubts, run the full test suite one final time!
py.test
4. On the master branch, commit the release in git:
git commit -a -m 'Release v0.X.Y'
5. Tag the release:
git tag -a v0.X.Y -m 'v0.X.Y'
6. Build source and binary wheels for pypi:
git clean -xdf # this deletes all uncommited changes!
pip wheel . -w dist --no-deps
7. Use twine to register and upload the release on pypi. Be careful, you can't
take this back!
twine upload dist/pyxpcm-0.X.Y*
You will need to be listed as a package owner at
https://pypi.python.org/pypi/pyxpcm for this to work.
8. Push your changes to master:
git push upstream master
git push upstream --tags
10. Add a section for the next release (v.X.(Y+1)) to docs/whats-new.rst.
11. Commit your changes and push to master again:
git commit -a -m 'Revert to dev version'
git push upstream master
You're done pushing to master!
12. Issue the release on GitHub. Click on "Draft a new release" at
https://github.com/obidam/pyxpcm/releases. Type in the version number, but
don't bother to describe it -- we maintain that on the docs instead.
13. Update the docs. Login to https://readthedocs.org/projects/pyxpcm/versions/
and switch your new release tag (at the bottom) from "Inactive" to "Active".
It should now build automatically.