[Sugar-devel] Automated releases

Daniel Narvaez dwnarvaez at gmail.com
Sun Dec 16 12:33:03 EST 2012


Hello,

I'm adding support for automated releases to sugar-build. It basically
works this way:

* The developer tags a commit with a version, putting informations
about the release in the annotation.

For example

   git tag -a v0.9

Then in the text editor:

    There are tons of new feature in this release!

    - Blah blah Blah
    - Gah gah gah

This is the only manual step, all the rest is automated.

* Buildbot runs a build. I haven't yet decided how to trigger it,
since I think the usual GitPoller won't notice tag changes. I might
subclass it to detect them, or I might just run very frequent builds,
allowing people to force one if they are really in a hurry.

* The tarballs are uploaded to shell.shugarlabs.org.

* An announce is sent to the list. It looks similar to the ones
generated by the release script. For example

    [RELEASE] sugar-runner-0.1

    Blah blah blah from the annotation

    == Source ==

    http://download.sugarlabs.org/sources/sucrose/glucose/sugar-runner/sugar-runner-0.1.tar.gz

There are a few advantages compared to the release script approach:

* Less work. You just need to tag.
* Access to shell.sugarlabs.org not required. You just need to get
your activity added to sugar-build (which is also good for other
reasons).
* All the information is in git, included the release notes.
* Less noise in the logs.
* configure.ac doesn't need to patched every time.

I have it working for glucose. I'm waiting for the sysadmins to give
access to buildbot to the sources dir, then I'll hook it up there. It
should be easy to add support for fructose activities but I haven't
figured out what to do with honey activities. Are we even releasing
sources for those or they are available only as xo? Integration with
aslo would be nice, but I don't know if it's possible.

This is only enabled for sugar-runner at the moment and, of course, I
would turn it on only if requested by the mantainer. So if you are
tired of doing release manually drop me a note and I will add your
module(s). I expect we will hit raw edges until this is better tested,
but I'll do my best to minimize your pain :)

-- 
Daniel Narvaez


More information about the Sugar-devel mailing list