Charles Oliver Nutter wrote:
> Perhaps it's time to set up a continuous integration server for ruby 
> core that performs a number of tasks on commit or periodically:
> 
> - full test run
> - gem install a few nontrivial gems
> - run additional tests against libraries known to be in rework
> 
> It has also been increasingly worrisome to me that changes, patches, 
> fixes are almost never accompanied by test cases of any kind, much less 
> extensive or complete test cases for the change in question.
> 
> Time for a change?

I'm not sure if you are talking about 1.9 or 1.8, but I have been doing 
an informal continuous integration for Ruby 1.9 and a few select 
packages for the past few weeks:

http://intertwingly.net/projects/ruby19/logs/

Every hour the process checks to see if there have been any commits to 
the ruby SVN, and if so, it will pull the latest from each of the 
projects listed (except builder: see below).

As things break, I am attempting to keep these packages consistent with 
Ruby HEAD and still running against the MRI for 1.8.6.  I had hoped to 
be expanding this list, but two things are conspiring against this: (1) 
Ruby HEAD often goes for days without a successful build, and (2) in 
many cases, I can't tell whether changes in behavior are intended or 
represent temporary regressions.  Add to this the fact that questions 
often go unanswered (example: 
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/15223), and 
progress has been really slow.

I have this set up to IM me on every failure via XMPP.  If others are 
interested, I could open this up so that others who are interested could 
register.  Alternately, if another CI process is set up, I will gladly 
shut this one down.  As long as I continue this, I would gladly take 
requests as to which package to include next.

Each of the projects listed are in various states.

Ruby is just running the bootstrap tests, and not the full test-all.

Builder and rake has a set of patches 
http://intertwingly.net/projects/ruby19/patches/ that I have sent to Jim 
Weirich but have not been integrated.

HTML5lib is only executing a subset of tests due to blocking questions 
such as the one above and optional dependencies (like hpricot) that I 
haven't yet looked at.

Mars is a toy project of mine that is of yet of little consequence.  It 
is the beginnings of a port of Planet to Ruby.  The reason for the 
selection of these packages is that I had hopes of porting my weblog and 
planet from Python 2.5 to Ruby 1.9.

OpenID also is only running a subset of tests, but in this case I 
believe the issue is that the tests themselves are making invalid 
assumptions as to the order of execution in the presence of threading. 
If you look at this log, you will see that minor warnings are issued 
relative to net/https and webrick/httprequest.

rexml has a few minor changes that aren't yet released to the Ruby SVN.

xmpp4r is running the full tests for that package.

The gems produced as a part of this process can be found here:

http://intertwingly.net/projects/ruby19/gems/

- Sam Ruby