Re: buildbot - an experiment

2008-01-04 Thread nadim khemir
On Thursday 03 January 2008 19.42.26 nadim khemir wrote:

 I did send a mail to cabie author asking if he had made a comparison
 between cabie and other systems. I also invited him to join us on this
 mailing list. I'll forward his answer if he does answer me.

I received an answer from Eric :

I wish I did have some kind of comparison.  Here's what one user wrote 
about choosing cabie:

http://www.golden-gryphon.com/blog/manoj/blog/2007/11/06/Continuous_Automated_Build_and_Integration_Environment.html

I looked here:

http://damagecontrol.codehaus.org/Continuous+Integration+Server+Feature+Matrix

And if I go line by line here's how I stack up:

Project origin: me, hosted on tigris.org

Implementation language: Perl, Javascript, and the new UI dashboard in 
PHP (nearing completion)

Free: yes

Issue tracker:  User definable, simple bug tracking and linking, no updating

Online demo:  no, but being worked on

Number of active developers:  1 (lots of lurkers though, I need help)

SCM support: Subversion, CVS, Perforce (utilizes a cmbroker, with 
integration of other tools being pretty simple)

SCM filtering:  limited, and definable

Multi-SCM:  not withing the same job

Parallel builds: yes

Distributed builds:  Not within cabie

Agents code auto updated:  no

Manually force builds: yes

SCM triggered builds:  if the trigger is defined and uses calls to the 
cabie build client

SCM poll based builds: yes

Temporal build scheduling:  VIA the os, as a cron job or an at job

Builds promotion: yes

Interproject Dependencies:  limited, can 'lock' a job that may be 
dependent on the output of another job

Builds deletion: yes

Reproduce history builds:  No, but that's high on my priority list

Proactive (can prevent build breakages):  Not sure what they mean, but 
don't think so

Detect new failing tests while build:  User definable through 'errors' 
customization

Notify when first test in build fails:  Only if the buildname.errors 
file has been defined with searchable strings that would include test 
conditions

User authentication:  in new UI, weak, MD5 based

User authorization schemes:  HTTP basic auth

LDAP integration: not at this time

Kerebos: no

Single sign-on: no

Custom JAAS: no

RSA SecurID: no

Confluence: no

Email: yes

Run executable: yes

FTP: Custom

IRC: no

Jabber: no

Lotus sametime:  no

ProjectStart: no

RSS: yes

SCP:  Custom

Windows system tray: no

Formatted logging:  mysql, xml (via mysql)

Yahoo Messenger: no

MSN messenger: no

X10: no

View changesets: yes, past, present and pending including full 
historical data

= New Web Interface ==

Add new projects: yes

Clone projects: yes

Delete projects:  yes, 2 modes, from view and permanent

Modify projects: yes

Kill builds: yes

Pause builds: no

Access to build artifacts: yes

Browse CI's working copy: no

Search in builds:  for defects

Historic graphs: no

Self-updating webpage: yes

Multi project support: yes

Multi project view: yes

Add/remove agent machines: no

=Directly supported build tools==

Shell/command script: yes, only mode supported since ant, nant, make, 
and msdev studio projects can all be run from the command line

=Tools Integration =

Bugtracking systems and source browsers and user definable by job 
properties defined in mysql

=Remote management api==

XML-RPC

=Installation and Configuration=

Windows installer: no

Self contained distribution: no (mostly yes, but there are dependencies 
for perl)

Additional Dependencies:  mysql, perl, subversion, cvs, perforce, 
required perl modules identified by cabieconfig.pl

Execution platform:  perl (PHP for new UI)

Project platform:  anything that can be build from the command line

Preferred build tool:  any

Requires modification to build scripts:  some

Supports multiple projects: yes

Automatic configuration from build script: no

Text file configuration:  projects - no (mysql), errors, disclaimers, 
exclusion lists yes...

The shots are from a non-authenticated session, an admin session and a 
super-admin session. 

(NKH: I put the images here  http://khemir.net/files_for_download/cabbie/
in one big html page. Don't ask for better presentation this is my second html 
page and probably one of the 10 pages I'll write before I retire. I'll leave 
them there for a few days)

I left out a few things, those that display passwords.  The screenshots 
are for the 'interactive' sections of the cabie ui.  The server is 
entirely in perl using rpc-xml, and the ui is in php (I figured I'd 
checkout php, although I'm not really great at either).

It continues to be a work in progress.  I have had great suggestions 
from a variety of companies including Facebook, just wish I could work 
on it full time

Right now most of my pending changes are changes 
required to the cm broker to handle html for CVS and Subversion, if the 
project uses Perforce then 

Re: buildbot - an experiment

2008-01-04 Thread James E Keenan

David Cantrell wrote:

On Tue, Jan 01, 2008 at 08:23:52PM -0500, James E Keenan wrote:

David Cantrell wrote:

If anyone can give me an idiots' guide to how to grab the most recent
source tree, build it, and test it, then I can test it on the same boxes
as I do CPAN testing, plus maybe a couple of others.

svn co https://svn.perl.org/parrot/trunk/ parrot_test
cd parrot_test
perl Configure.pl
make


...
/usr/local/bin/perl /home/david/parrot_test/tools/build/pmc2c.pl --c
subproxy.pmc
Cannot restore overloading on HASH(0x823a074) (package
Parrot::Pmc2c::Emitter) at blib/lib/Storable.pm (autosplit into
blib/lib/auto/Storable/_retrieve.al) line 328, at
/home/david/parrot_test/tools/build/dynpmc.pl line 199
make[1]: *** [all] Error 255
make[1]: Leaving directory `/home/david/parrot_test/src/dynpmc'
make: *** [dynpmc.dummy] Error 2

That's on Linux. There' probably not much point me testing it on more
obscure platforms right now -)



Right now I unfortunately don't have the tuits to follow perl.qa closely 
and experiment with buildbots.  As for the failure above, is this 
occurring while being run by a buildbot ... or just run by a human.


If the latter, then it's a bug of some sort in Parrot and you should 
file it at [EMAIL PROTECTED], attaching your 'make' output up to 
the point of failure.


Thank you very much for trying this out.

Jim Keenan