| Making a release (for release managers) |
| ======================================= |
| |
| 1. Pre-release check list |
| |
| - Make sure tests pass on all the supported Python versions (sudo tox) |
| - Make sure CHANGES file is up to date |
| - Make sure __version__ string in libcloud/__init__.py is up to date |
| |
| 2. Creating release artifacts |
| |
| We have a script that runs the required setup.py commands and then hashes |
| and signs the files. To run it: |
| |
| cd dist |
| ./release.sh -u yourusername@apache.org |
| |
| This should result in a set of apache-libcloud-${VERSION}.{tar.bz2,zip}{,asc,md5,sha1} |
| files that are suitable to be uploaded for a release. |
| |
| 3. Uploading release artifacts |
| |
| - Add release artifacts to the SVN repository at |
| https://dist.apache.org/repos/dist/release/libcloud/ |
| |
| It may take up to a day for the artifacts to be available on all the |
| Apache mirrors, but they should be instantly available at |
| http://www.apache.org/dist/libcloud/. |
| |
| - If there is more than one older release in the repository, delete the |
| oldest one. Old releases are automatically archived and available at |
| https://dist.apache.org/repos/dist/release/libcloud/. |
| |
| 4. Tagging a release |
| |
| svn copy https://svn.apache.org/repos/asf/libcloud/trunk/ \ |
| https://svn.apache.org/repos/asf/libcloud/tags/<version number> \ |
| -r <release revision number> \ |
| -m "Release <version number>" |
| |
| 5. Publishing package to PyPi |
| |
| TODO |
| |
| 6. Generate API docs and add them to the SVN repository |
| |
| python setup.py apidocs |
| cp -r apidocs ../site/content/apidocs/<version> |
| |
| Note: For generating API docs you need the following libraries installed: |
| |
| - pydoctor - http://codespeak.net/~mwh/pydoctor/ |
| - epydoc |
| |
| 7. Update latest API doc version in ../site/content/apidocs/index.html and |
| ../site/content./apidocs/.htaccess |
| |
| 8. Updating a website and doap_libcloud |
| |
| - Update "News" page |
| |
| - Update "Downloads" page |
| |
| - Update "Get it" section in the sidebar |
| |
| - Update doap_libcloud.rdf and add info about the new version |
| |
| 9. Sending announcements |
| |
| - Send a release announcement to {dev,users}@libcloud.apache.org. If it's a |
| major release also send it to announce@apache.org. |
| |
| - Send a release announcement to Twitter & Google+ |
| |
| Miscellaneous: |
| |
| - If needed, use Apache URL shortening service - http://s.apache.org/ |