Aside from being distracted by my new macbook pro dual core intel wonderbox, I was playing with seeding a build/test/ci infrastructure, and want to solicit comments before I check in something.

I call this a seed because I know there's a lot of interest in a richer framework for perf/stabillity/unit testing, code coverage, etc, and the key is to make it easy for anyone to get, and propose additions to...

The top-level goal was to have something that anyone can checkout, do some minor configuration, and get running, so we can have a rich platform matrix for Harmony testing that's community-based. Sure, we'll run it on Apache hardware too at some point, but it must be community owned, community created, etc, with the Apache instance just one in the matrix.

I figure that we'll have :

1)  some infrastructure you can checkout and run

2) a target mail address/list for result/status messages that we accept from anyone in the community that "registers" with us (IOW, people write in and say they are doing it on platform XYZ, and we add them....)

3) Some kind of system that gathers the info and presents a status page on the website so people can review history and such.

I had a few soft 'requirements' in my head when I started....

1) I wanted to be able to build a system so that for the most part

     svn co https://......./enhanced/buildtestinfra

will get you everything you need to run.

2) I wanted to be able to parameterize the ci/test run via some kind of external properties in order that everyone is running the same test config. Examples of these parameters include the platform you are testing on (RedHat Fedora Core v1.1), mail information like return address, mail server to send through, etc...

3) I want it to be flexible so whatever comes down the pike can be incorporated.

I looked at both continuum and cruise control. Both seem to be glorified CRON programs, with the point of just running a set of tasks over and over and reporting on them. I went back and forth and decided that for what I wanted to do, cruise control seemed a better fit. It let me do things like create dependencies between projects (only run B if A completes successfully), and seemed to be easier to run our projects as they are, w/o needing special kick-off scripts and such.

My goal is to check in later today after some nips and tucks. It's simple, it's primitive, and because I don't know cruise control very well, it's probably wrong. But it's been working all weekend, and aside from the fact that my )@[EMAIL PROTECTED] ubuntu box is under enough weird memory stress that fork() fails, it's cute to watch.

So first, does this sound reasonable?

Second, what approach should we take for recording and summarizing across a whole range of people running this? I'd like to keep the mail stream coming, as I think that's a great way to permanently track. But based on that... maybe a little impl of James or something running on a solaris zone that eats email and writes to a db?

geir


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to