Re: Continuous Integration for Perl
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
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
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
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
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
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
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
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
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
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
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