Releaser is a set of rc scripts to help manage and automate software package releases.
Every software package should have a .pkg file containing necessary information about the project and modules to be used.
The prerel script runs the selected pre/ modules and uses the .pkg information and the input from the user to generate a release specific .rel file. Typical tasks in pre modules includ e building of tarballs from vcs repositories, generation of changelogs, etc.)
postrel uses the .rel and other output of the pre scripts to actually ‘execute’ the release by running the post modules, this usually includes uploading tarballs, sending announcements to m ailing lists, uploading news page in website, freshmeat submission, etc.
You will need Plan 9 from User Space (mostly for the rc shell).
To use the post/fm action make sure you put your freshmeat auth code in
~/.fm_auth_code (see the the Snake Steak script page for details).
You need a ~/.relrc that sets the variable rel_install_path, for example:
$ cat ~/.relrc rel_install_path=/home/uriel/dev/releaser/
The .pkg files are evaluated by the rc shell, and consist mostly of variable deffinitions. See the examples in etc/ for reference.
You can check out the latest code with mercurial:
$ hg clone http://hg.cat-v.org/releaser/
- allow to configure fm auth key from relrc
- remove requirement to set rel_install_path in ~/.relrc (done)
- Ohloh support
- Add support for more scms (git, svn, etc)
- Snake Steak - The script used to access the Freshmeat JSON API.