-
Notifications
You must be signed in to change notification settings - Fork 0
/
HOWTO_RELEASE
49 lines (48 loc) · 2.35 KB
/
HOWTO_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
44
45
46
47
48
49
How to issue an OGGM release.
1. Go to your local main repository (not the fork) and ensure your master branch is synced:
git checkout master
git pull
2. Look over whats-new.rst and the docs. Make sure "What's New" is complete
(check the date!) and add a brief summary note describing the release at the
top.
3. If you have any doubts, run the full test suite one final time!
pytest --run-slow --mpl .
4. On the master branch, commit the release in git:
git commit -a -m 'Release v1.X.Y'
5. Tag the release:
git tag -a v1.X.Y -m 'v1.X.Y'
6. Build source and binary wheels for pypi:
git clean -xdf # this deletes all uncommitted changes!
python setup.py bdist_wheel sdist
7. Use twine to register and upload the release on pypi. Be careful, you can't
take this back!
twine upload dist/oggm-1.X.Y*
You will need to be listed as a package owner at
https://pypi.python.org/pypi/oggm for this to work.
8. Push your changes to master:
git push origin master
git push origin --tags
9. Update the stable branch (used by ReadTheDocs) and switch back to master:
git checkout stable
git rebase master
git push origin stable
git checkout master
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:
git commit -a -m 'Revert to dev version'
git push origin master
You're done pushing to master!
12. Issue the release on GitHub. Click on "Draft a new release" at
https://github.com/OGGM/oggm/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/oggm/versions/
and switch your new release tag (at the bottom) from "Inactive" to "Active".
It should now build automatically.
14. Now the containers: run CI on https://github.com/OGGM/r2d to get the correct
on https://github.com/OGGM/r2d/pkgs/container/r2d. Then update the tag on
https://github.com/OGGM/binder, in the master and stable branch.
On https://hub.oggm.org, create a new environment as well.
15. Issue the release announcement!