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