-
Notifications
You must be signed in to change notification settings - Fork 106
/
HOWTO_RELEASE
51 lines (50 loc) · 2.51 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
50
51
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. Check index.rst to update the version here as well.
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 -m build
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.
You'll need a token for this - it is in your password manager.
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.
Add the section to index that it is not yet released.
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!