Re: Continuous Integration for Perl

2009-07-15 Thread Michael Peters

Andy Lester wrote:

But the short answer seems to be "no, there's nothing that is general 
purpose enough for what you want." 


I talked about this missing piece at YAPC::NA this year and found some 
interested parties who would like to work on such a project. We've have the 
beginnings of a plan for Cradle (http://github.com/konobi/Cradle/tree/master). 
We generally hang out on #a8n on irc.perl.org if anyone is interested in helping 
out.


--
Michael Peters
Plus Three, LP



Re: Continuous Integration for Perl

2009-04-22 Thread Saftoiu, Rares
A "bzr push" actually creates a new branch within the repository. I'm not
sure what notification facilities, if any, bzr has, so that's a good idea
for something to look into.

On 4/22/09 4/22/09 1:21 PM, "Michael G Schwern"  wrote:

> Saftoiu, Rares wrote:
>> Smolder sounds great for viewing the results, I was looking for something
>> that could deal with branches. We branch on every bug fix, and then when the
>> fix is done we push that branch to a particular directory, so at the end of
>> a bug fix cycle we have a bunch of branches that need to be merged. I'd like
>> a system that can watch that directory, merge a bugfix branch into trunk,
>> run unit tests, then report to the committer if anything failed (whether
>> there were merge conflicts or whether any tests failed).
> 
> When you say "push to a particular directory" do you mean on the filesystem or
> in the repository?  Because if it was in the repository, something like
> SVN::Notify could trigger an event when anything was added to the magic
> integration directory... except that's for Subversion.
> 

--
Rares Saftoiu:  Webmetrics, A NeuStar Service
Software Engineer
9444 Waples Street, Suite 300 San Diego, CA 92121
[ T ] +1 858 202 5309 [ E ] rares.saft...@webmetrics.com [ W ]
www.webmetrics.com / www.neustar.biz




Re: Continuous Integration for Perl

2009-04-22 Thread Michael G Schwern
Saftoiu, Rares wrote:
> Smolder sounds great for viewing the results, I was looking for something
> that could deal with branches. We branch on every bug fix, and then when the
> fix is done we push that branch to a particular directory, so at the end of
> a bug fix cycle we have a bunch of branches that need to be merged. I'd like
> a system that can watch that directory, merge a bugfix branch into trunk,
> run unit tests, then report to the committer if anything failed (whether
> there were merge conflicts or whether any tests failed).

When you say "push to a particular directory" do you mean on the filesystem or
in the repository?  Because if it was in the repository, something like
SVN::Notify could trigger an event when anything was added to the magic
integration directory... except that's for Subversion.


-- 
31. Not allowed to let sock puppets take responsibility for any of my
actions.
-- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army
   http://skippyslist.com/list/


Re: Continuous Integration for Perl

2009-04-22 Thread Saftoiu, Rares



On 4/21/09 4/21/09 7:32 AM, "Michael Peters"  wrote:

> Andy Lester wrote:
> 
>> I have something called smolderbot that I threw together that does the
>> same thing. I'm sure I could post it if wanted.
>> 
>> But the short answer seems to be "no, there's nothing that is general
>> purpose enough for what you want."  Maybe something like CruiseControl
>> will do it, I don't know.
> 
> While I get by just fine with some shell scripts and TAP::Harness::Archive and
> friends, I've been thinking that it would be nice to have a full application
> that could compete with CruiseControl/Buildbot for this kind of thing. Still
> leave the reporting up to Smolder but have some related project to do the
> actual 
> code updates (integrating with various SCMs), smartly work with branches, etc.
> My tuits are completely gone at this point, but it would be an interesting
> project.

Agreed :-)

--
Rares Saftoiu:  Webmetrics, A NeuStar Service
Software Engineer
9444 Waples Street, Suite 300 San Diego, CA 92121
[ T ] +1 858 202 5309 [ E ] rares.saft...@webmetrics.com [ W ]
www.webmetrics.com / www.neustar.biz




Re: Continuous Integration for Perl

2009-04-22 Thread Saftoiu, Rares



On 4/21/09 4/21/09 5:01 AM, "Michael Peters"  wrote:

> Saftoiu, Rares wrote:
> 
>> I was wondering if there were any tools available for doing continuous
>> integration with perl. I basically need something that will watch a
>> directory, merge any branches from the directory into trunk, run unit tests,
>> and email the committer in case of a merge conflict or failed unit test.
> 
> What SCM tools are you using? For things like this I typically use just a
> simple 
> bash script to do the update from svn, then if there are changes run the test
> suite. In your case it would be a little more complicated, but not much.
> 

We're using bzr for source control, and as far as I can tell there isn't
much support for it yet since it's pretty young.

>> Any suggestions? Any tools specifically built for perl and Test::More?
> 
> Smolder is great for the reporting of test failures. All you really need to do
> is create a TAP archive and send it to a Smolder server and it can send emails
> to your team or give you an RSS feed to pull from too. Creating a TAP archive
> is 
> really easy if you use TAP::Harness::Archive (or if youse Module::Build
> there's 
> Module::Build::TAPArchive). And sending it to smolder is really easy to. You
> can 
> use the smolder_smoke_signal util that comes with Smolder or if you use
> Module::Build, there's Module::Build::Smolder.
> 
> You can see the Parrot Smolder install here:
> http://smolder.plusthree.com/app/developer_projects/smoke_reports/8

Smolder sounds great for viewing the results, I was looking for something
that could deal with branches. We branch on every bug fix, and then when the
fix is done we push that branch to a particular directory, so at the end of
a bug fix cycle we have a bunch of branches that need to be merged. I'd like
a system that can watch that directory, merge a bugfix branch into trunk,
run unit tests, then report to the committer if anything failed (whether
there were merge conflicts or whether any tests failed).

Bzr makes branching super easy, in case you're wondering why we have so many
branches/merges.

>From all the feedback I've gotten, looks like we'll have to put together our
own scripts to do this.

Thanks,

--
Rares Saftoiu:  Webmetrics, A NeuStar Service
Software Engineer
9444 Waples Street, Suite 300 San Diego, CA 92121
[ T ] +1 858 202 5309 [ E ] rares.saft...@webmetrics.com [ W ]
www.webmetrics.com / www.neustar.biz




Re: Continuous Integration for Perl

2009-04-21 Thread Michael Peters

Andy Lester wrote:

I have something called smolderbot that I threw together that does the 
same thing. I'm sure I could post it if wanted.


But the short answer seems to be "no, there's nothing that is general 
purpose enough for what you want."  Maybe something like CruiseControl 
will do it, I don't know.


While I get by just fine with some shell scripts and TAP::Harness::Archive and 
friends, I've been thinking that it would be nice to have a full application 
that could compete with CruiseControl/Buildbot for this kind of thing. Still 
leave the reporting up to Smolder but have some related project to do the actual 
code updates (integrating with various SCMs), smartly work with branches, etc. 
My tuits are completely gone at this point, but it would be an interesting project.


--
Michael Peters
Plus Three, LP



Re: Continuous Integration for Perl

2009-04-21 Thread Andy Lester


On Apr 21, 2009, at 9:29 AM, Elizabeth Cortell wrote:

I do just this.  As part of a CI/test framework for my $job, I've  
written a script that runs a given suite then uploads to Smolder.
I pull over the most recent svn changes with one cron job, then run  
the various suites against the changes with another.  Works like a  
charm.
If you would like to examine the script as an example to work from,   
contact me off list.



I have something called smolderbot that I threw together that does the  
same thing. I'm sure I could post it if wanted.


But the short answer seems to be "no, there's nothing that is general  
purpose enough for what you want."  Maybe something like CruiseControl  
will do it, I don't know.


xoxo,
Andy

--
Andy Lester => a...@petdance.com => www.theworkinggeek.com => AIM:petdance






Re: Continuous Integration for Perl

2009-04-21 Thread Elizabeth Cortell




Smolder is great for the reporting of test failures. All you really 
need to do is create a TAP archive and send it to a Smolder server and 
it can send emails to your team or give you an RSS feed to pull from 
too. Creating a TAP archive is really easy if you use 
TAP::Harness::Archive (or if youse Module::Build there's 
Module::Build::TAPArchive). And sending it to smolder is really easy 
to. You can use the smolder_smoke_signal util that comes with Smolder 
or if you use Module::Build, there's Module::Build::Smolder.
I do just this.  As part of a CI/test framework for my $job, I've 
written a script that runs a given suite then uploads to Smolder.   I 
pull over the most recent svn changes with one cron job, then run the 
various suites against the changes with another.  Works like a charm.

If you would like to examine the script as an example to work from,  
contact me off list.


Cheers,

Liz











You can see the Parrot Smolder install here:
http://smolder.plusthree.com/app/developer_projects/smoke_reports/8





Re: Continuous Integration for Perl

2009-04-21 Thread Michael Peters

Saftoiu, Rares wrote:


I was wondering if there were any tools available for doing continuous
integration with perl. I basically need something that will watch a
directory, merge any branches from the directory into trunk, run unit tests,
and email the committer in case of a merge conflict or failed unit test.


What SCM tools are you using? For things like this I typically use just a simple 
bash script to do the update from svn, then if there are changes run the test 
suite. In your case it would be a little more complicated, but not much.



Any suggestions? Any tools specifically built for perl and Test::More?


Smolder is great for the reporting of test failures. All you really need to do 
is create a TAP archive and send it to a Smolder server and it can send emails 
to your team or give you an RSS feed to pull from too. Creating a TAP archive is 
really easy if you use TAP::Harness::Archive (or if youse Module::Build there's 
Module::Build::TAPArchive). And sending it to smolder is really easy to. You can 
use the smolder_smoke_signal util that comes with Smolder or if you use 
Module::Build, there's Module::Build::Smolder.


You can see the Parrot Smolder install here:
http://smolder.plusthree.com/app/developer_projects/smoke_reports/8

--
Michael Peters
Plus Three, LP



Re: Continuous Integration for Perl

2009-04-20 Thread Gaurav Vaidya
Hi there,

2009/4/21 Saftoiu, Rares :
> I was wondering if there were any tools available for doing continuous
> integration with perl. I basically need something that will watch a
> directory, merge any branches from the directory into trunk, run unit tests,
> and email the committer in case of a merge conflict or failed unit test.
Searching the Perl-QA wiki [1] comes up with buildbot, CruiseControl
and Smolder. I've never used any of these, but I know the Parrot
project uses Smolder for their cross-platform continuous testing [2].

cheers,
Gaurav

[1] http://perl-qa.hexten.net/wiki/index.php/Continuous_Integration
[2] http://smolder.plusthree.com/app/public_projects/smoke_reports/8


Continuous Integration for Perl

2009-04-20 Thread Saftoiu, Rares
Hi,

I was wondering if there were any tools available for doing continuous
integration with perl. I basically need something that will watch a
directory, merge any branches from the directory into trunk, run unit tests,
and email the committer in case of a merge conflict or failed unit test.

Any suggestions? Any tools specifically built for perl and Test::More?

Thanks,
-Rares Saftoiu