Skip to content

Commit

Permalink
Add twine check and readthedocs reminder to HOW_TO_RELEASE (pydata#3738)
Browse files Browse the repository at this point in the history
  • Loading branch information
dcherian authored Feb 24, 2020
1 parent f468a06 commit dc8a8dc
Showing 1 changed file with 17 additions and 12 deletions.
29 changes: 17 additions & 12 deletions HOW_TO_RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
How to issue an xarray release in 14 easy steps
How to issue an xarray release in 16 easy steps

Time required: about an hour.

Expand All @@ -20,32 +20,37 @@ Time required: about an hour.
```
pytest
```
4. On the master branch, commit the release in git:
4. Check that the ReadTheDocs build is passing.
5. On the master branch, commit the release in git:
```
git commit -a -m 'Release v0.X.Y'
```
5. Tag the release:
6. Tag the release:
```
git tag -a v0.X.Y -m 'v0.X.Y'
```
6. Build source and binary wheels for pypi:
7. Build source and binary wheels for pypi:
```
git clean -xdf # this deletes all uncommited changes!
python setup.py bdist_wheel sdist
```
7. Use twine to register and upload the release on pypi. Be careful, you can't
8. Use twine to check the package build:
```
twine check dist/xarray-0.X.Y*
```
9. Use twine to register and upload the release on pypi. Be careful, you can't
take this back!
```
twine upload dist/xarray-0.X.Y*
```
You will need to be listed as a package owner at
https://pypi.python.org/pypi/xarray for this to work.
8. Push your changes to master:
10. Push your changes to master:
```
git push upstream master
git push upstream --tags
```
9. Update the stable branch (used by ReadTheDocs) and switch back to master:
11. Update the stable branch (used by ReadTheDocs) and switch back to master:
```
git checkout stable
git rebase master
Expand All @@ -55,20 +60,20 @@ Time required: about an hour.
It's OK to force push to 'stable' if necessary. (We also update the stable
branch with `git cherrypick` for documentation only fixes that apply the
current released version.)
10. Add a section for the next release (v.X.(Y+1)) to doc/whats-new.rst.
11. Commit your changes and push to master again:
12. Add a section for the next release (v.X.(Y+1)) to doc/whats-new.rst.
13. Commit your changes and push to master again:
```
git commit -a -m 'New whatsnew section'
git push upstream master
```
You're done pushing to master!
12. Issue the release on GitHub. Click on "Draft a new release" at
14. Issue the release on GitHub. Click on "Draft a new release" at
https://github.com/pydata/xarray/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/xray/versions/
15. Update the docs. Login to https://readthedocs.org/projects/xray/versions/
and switch your new release tag (at the bottom) from "Inactive" to "Active".
It should now build automatically.
14. Issue the release announcement! For bug fix releases, I usually only email
16. Issue the release announcement! For bug fix releases, I usually only email
[email protected]. For major/feature releases, I will email a broader
list (no more than once every 3-6 months):
- [email protected]
Expand Down

0 comments on commit dc8a8dc

Please sign in to comment.