On Mon, Jan 31, 2011 at 12:56 AM, Michael Hudson-Doyle michael.hudson@canonical.com wrote:
On Fri, 28 Jan 2011 11:11:03 +0100, Loïc Minier loic.minier@linaro.org wrote:
On Fri, Jan 28, 2011, Michael Hudson-Doyle wrote:
What do you mean by stuff? Configs? Generically useful scripts? Although I'm not really sure how much of the latter there will be.
Both
I see storing configs more as some kind of backup / safety net in the ideal case. Most of the logic should be in separate scripts;
Ah ok, that makes sense. I've certainly quickly settled on a pattern where the scripts you give to hudson are basically "get a script from a bzr branch, run it".
yes, thats my take as well. And the actual script with the main build logic should be independent from hudson if possible.
for instance, I moved my u-boot jobs from various trees to use a common build-u-boot shell wrapper which does the right thing. Similarly I have build-qemu, build-linux, build-cross-gdb etc.
Funnily enough I have something called "build-android" too, that asac started. It's at lp:~mwhudson/linaro-android/ec2-tools, along with some other bits. It's a slightly grotty shell script, but I guess some of it would be reusable, indeed.
I would like to see the "hudson" build submission interface generic. e.g. make just one hudson job that delegates execution to a concrete backend like "build-android", "build-android-toolchain", build-chromeos, etc.
such hudson job would then just takes _one_ "xml" config as input parameter that is then used to select the build script/backend ...
e.g.
<linaro-cloud-buildd> <android>. ... </android> </linaro-cloud-buildd>
=> goes to build-android backend
and similarly <android-toolchain> would go to build-android-toolchain backend etc.