Release howto
This page documents in brief the plasduino release process, which is managed
through the release.py script living
at the top level of the package:
Usage: release.py [options]
Options:
-h, --help show this help message and exit
-t TAGMODE The release tag mode ['major', 'minor', 'patch'].
-n Dry run (i.e. do not actually do anything).
-s Create a source distribution.
-d Create a debian package.
-r Create a rpm package.
Remember to always run the release script from within the directory it
leaves as it expects to find the setup python files in the same
directory.
Tagging the package
Use the release script with the -t option to tag the
package, e.g. do
./release.py -t patch
to increment the patch in the major.minor.patch version number.
This will actually do for you a series of operations, namely:
- Update the __tag__.py
version file.
- Update the release notes, in all their flavors.
- Commit the changes and push them to the tip of the repository.
- Tag the package with the right version tag.
- Register the new version of the package on
pypi.
Creating distribution files
In order to create distribution files, use the release script with
either the -s (source),
-r (rpm) or -d
(debian) option (or any combination of them). The distribution files
will appear in the dist subdirectory of the
plasduino top level folder.
Mind you have to be on the right system to create certain distribution files
(i.e. you have to be on a rpm-based system in order to create the rpm
and on a debian-based system in order to create a debian file).
Updating this webpage
This website is generated by the
doc/webpage/deploy.py
script and a fair fraction of its content is auto-generated from the source
code. The human-contributed text (which is typically what you want to change)
lives in the
doc/webpage/pages folder and the overall layout of the website is defined in
doc/webpage/__layout__.py. In addition to that, css stylesheets live in
doc/webpage/css
and all the images are in
doc/webpage/images.
You can compile the website by calling the aforementioned
doc/webpage/deploy.py script, which is also the main target of the
Makefile in the
doc/webpage folder. You'll have the static html
output in doc/html.
Mind that the website is automatically recompiled for free when you
launch the release script, no matter what options you pass to it.
In this case you also get a zip file in the
dist/doc folder that you can upload on
http://pythonhosted.org/plasduino/
through the web interface on pypi
(you need administrative privileges on the package, though).