@@ -103,5 +103,38 @@ following commands:
103103 sudo apt update
104104 sudo apt install --only-upgrade micropython-ev3dev2
105105
106+ Publishing releases
107+ -------------------
108+
109+ #. Update the changelog, including a correct release date. Use ``date -R `` to get correctly-formatted date.
110+ #. Commit the changelog. By convention, use message like ``Update changelog for 2.1.0 release ``.
111+ #. Build/update pbuilder base images: ``OS=debian DIST=stretch ARCH=amd64 pbuilder-ev3dev base `` and ``OS=raspbian DIST=stretch ARCH=armhf pbuilder-ev3dev base ``.
112+ #. ``./debian/release.sh `` and enter passwords/key passphrases as needed
113+ #. ``git push ``
114+ #. ``git push --tags ``
115+ #. ``git tag -d stable ``
116+ #. ``git tag stable ``
117+ #. ``git push --tags --force ``
118+ #. ``git tag -a 2.1.0 -m "python-ev3dev2 PyPi release 2.1.0" ``
119+ #. ``git push --tags ``
120+
121+ Note that push order is important; the CI server will get confused if you push
122+ other tags pointing to the same commit after you push the PyPi release tag. This
123+ doesn't actually cause release issues, but does mark the CI builds as "failed"
124+ because it tried to publish the same release again.
125+
126+ **Check all of the following after release is complete: **
127+
128+ - Emails from package server don't include any errors
129+ - All Travis CI builds succeeded
130+ - New release is available on PyPi
131+ - Release tags are up on GitHub
132+ - ReadTheDocs is updated
133+
134+ - ReadTheDocs "stable" version points to latest release
135+ - There is an explicit version tag for the last-released version (exeption: ``2.1.0 ``)
136+ - There is an explicit version tag for this version (you will likely need to manually activate it)
137+ - All ReadTheDocs builds succeeded
138+
106139.. _ev3dev : http://ev3dev.org
107140.. _FAQ : https://python-ev3dev.readthedocs.io/en/ev3dev-stretch/faq.html
0 commit comments