2010-01-11 02:30:07 |
Cory Dodt |
description |
At first blush it might sound silly for a project this small, but "release early and often" is a great mantra, and it's much easier to release when it can be done completely automatically.
For [[http://goonmill.org/hypy/|Hypy]] I have a wiki page that describes the complete, very short, mindless release process. All of the heavy lifting is implemented in a Makefile which I can just run with a new version number whenever I want to release a new version. The Makefile handles:
1. Running tests to check that they pass (I should also add coverage checking to this)
2. Asking for and committing release notes, even providing you with a reminder list of bugs you've resolved to refer to
3. Tagging the release in version control
4. Building a .deb package locally, uploading to Launchpad PPA and waiting for the build to complete
5. Building a pypi package and uploading it to pypi
What's left to be do is mostly communicating the release, and I'm forgetful enough that I have also documented everywhere that I normally do a release announcement, and lazy enough that I can actually pull the release announcement from version control (the Makefile asks you to write it before it does the release).
Links:
* http://wiki.goonmill.org/HowtoReleaseHypy - textual description
* http://hypy-source.goonmill.org/file/tip/Makefile - does the work of building packages and uploading them. |
At first blush it might sound silly for a project this small, but "release early and often" is a great mantra, and it's much easier to release when it can be done completely automatically.
For Hypy I have a wiki page that describes the complete, very short, mindless release process. All of the heavy lifting is implemented in a Makefile which I can just run with a new version number whenever I want to release a new version. The Makefile handles:
1. Running tests to check that they pass (I should also add coverage checking to this)
2. Asking for and committing release notes, even providing you with a reminder list of bugs you've resolved to refer to
3. Tagging the release in version control
4. Building a .deb package locally, uploading to Launchpad PPA and waiting for the build to complete
5. Building a pypi package and uploading it to pypi
What's left to be do is mostly communicating the release, and I'm forgetful enough that I have also documented everywhere that I normally do a release announcement, and lazy enough that I can actually pull the release announcement from version control (the Makefile asks you to write it before it does the release).
Links:
* http://wiki.goonmill.org/HowtoReleaseHypy - textual description
* http://hypy-source.goonmill.org/file/tip/Makefile - does the work of building packages and uploading them.
* http://goonmill.org/hypy/ |
|