Commit level build and testing of Gnome on Ubuntu: Juju + JHBuild + Canonistack + Jenkins
I was working on automating commit level building and testing of the gnome stack, and one of the painful and boring task is to setup the development and testing environment. Especially when you know that developers will have to use the same environment to reproduce failures found with testing and the QA Lab has restricted access.
So I went the Juju way and the result is a JHBuild charm .
This charm can be set up for manual use of JHBuild or automated building and testing. It is currently deployed in the Ubuntu QA Lab to build and test the gnome-core moduleset (197 modules) on Quantal.
Deploying JHBuild is as easy as configuring the service in config.yaml to your needs, bootstrapping juju and deploying jhbuild. Depending on the number of modules you want to build, you’ll need a medium or bigger instance type. Which consists in the following instructions:
1. Bootstrap the environment and deploy the service
$ juju bootstrap --constraints "instance-type=m1.medium" $ juju deploy --config gnome.yaml \ --repository $HOME/ubuntu/qa/juju/charms \ local:jhbuild jhbuild
2. after installation, connect to the unit with:
$ juju ssh <unit_or_machine>
3. And run your first build
$ jhbuild build
4. You want to organize a hacking party
$ juju add-unit jhbuild -n 10
6. To setup the service for automated build and publish the results:
$ juju set jhbuild autobuild=True publish=True
Results will be accessible on `http://<unit_public_addr>/`
Please see the README for more details and deployment instructions.
I hope it’ll be useful for you as well.