RailsConf Releases

Posted by Nick Sieger Thu, 17 May 2007 17:35:00 GMT

Just a quick update. Firstly, I just released ci_reporter 1.3; it should be available in the gem index shortly. Thanks to Bret Pettichord, Jeremy Beheler, and Charlie Kunz for reporting issues and prodding me to fix a couple of bugs. The two new items in this release are:

  • RSpec 0.9/trunk-compatible. You can now describe/it all you want with ci_reporter.
  • Errors and failure stack traces now include the full error message and exception type.

Secondly, JRuby 1.0RC2 has been released. Although there is no official release announcement at the moment, it is available for download and has been propagated to the central Maven repository also. Please do check it out and let us know on the mailing lists or in JIRA if you come across any blocker issues or regressions. Just a couple more weeks of stabilization; expect a rockin’ 1.0 release in June!

Lastly, expect an ActiveRecord-JDBC 0.3.2 release Real Soon Now.

Tags , , , ,  | no comments | no trackbacks

JRuby Update: Continuous Improvement

Posted by Nick Sieger Fri, 16 Mar 2007 03:47:17 GMT

JRuby development pace has been fast and furious for the past few months, and, at times dangerous. While the overall gains have been significant, occasional regressions to various parts of the interpreter and applications such as rubygems have been frustrating for people trying to track the bleeding edge.

Well, no longer. I’ve now got Bamboo up and running, continuously building JRuby itself, as well as test suites of third-party software. Right now, there is a gem install smoke test (for ensuring basic gem install continues to work) as well as the ActiveSupport tests (which are run with CI::Reporter of course so we can track test failures -- now you see the method to my earlier madness).

On the short list for new builds to be added to the CI server are:

  • Testing the rest of the Rails components
  • ActiveRecord-JDBC
  • Nightly snapshots for those who want to track development but don’t want to build from source

If you have a favorite pure-Ruby package or code that exercises JRuby in a public source repository, let me know and we’ll consider adding it to Bamboo so you (and we) know if and when it breaks, or how badly it’s broken.

On a side note, I’ve quietly released CI::Reporter 1.1; you should be able to get it from gems soon. Quietly, because there was only a small, non-essential change -- an assertions attribute was added to the testsuite element in each XML file. Custom applications wishing to count the number of assertions per test suite can parse it out of the XML. Maybe there’ll be a non-XML output format in the future, but I don’t need it now, so it’s not going to be built.

Tags ,  | 1 comment | no trackbacks

Happy V-Day: CI::Reporter 1.0 Gem Released

Posted by Nick Sieger Thu, 15 Feb 2007 05:04:40 GMT

As requested, CI::Reporter has been released as a gem version of my Rails plugin version. Follow these instructions for installing the new gem version.

For the uninitiated, CI::Reporter is an add-on to Test::Unit and RSpec that allows you to generate XML reports of your test and/or spec runs. The resulting files can be read by a continuous integration system that understands Ant’s JUnit report XML format, thus allowing your CI system to track test/spec successes and failures.

The old Rails plugin code is still in the previous location, but I don’t plan to do anything else with it so I encourage you to install the gem and use the new lean-and-mean plugin that depends on it.

At the time of the post, the gem is hot off the presses, so it may take a little bit for it to hit the gem index and mirrors. Let me know if it works for you!

Tags ,  | 7 comments | no trackbacks

Continuous Integration Goodness(TM) for Your Ruby Project

Posted by Nick Sieger Sat, 06 Jan 2007 15:42:00 GMT

As much as we’d like to think we live in a Ruby-glasses-colored world, the fact is there are plenty of neat toys out there that don’t know a bit about us. One that I’m currently enamoured with is Bamboo, Atlassian’s new continuous integration server. But, most commercial CI products are aiming for a wider market, and that means Java and Ant. Ant and JUnit predate Rake and Test::Unit by a few years, so I’m afraid they beat us to the punch, so that now the JUnit Ant task’s XML format is pretty much the first consideration for a continuous integration server to understand in order to display a test report for a build.

Where does that leave us Rubyists who want to play along with the bigs? Right here!. With support for not just RSpec, but Test::Unit too.

Right now, it’s packaged as a Rails plugin, because I’m lazy and I don’t need anything else right now. If you’re interested in a gem, please leave a comment. To install into your Rails app, the usual:

./script/plugin install http://svn.caldersphere.net/svn/main/ci_reporter

That’s it! Now all you have to do is have your CI server invoke an extra target before the main target that runs your tests.

For RSpec,

rake ci:setup_rspec spec

will leave one XML file per context in the spec/reports directory (creating it if it doesn’t exist).

For Test::Unit,

rake ci:setup_testunit test

will leave one XML file per test case class in the test/reports directory.

Most CI servers have configuration telling them where to look for test reports. Simply plug in one of these directories, and you’re set. Now sit back and watch your test or spec failures get tracked in your automated builds.

test results

Tags , , , ,  | 11 comments | no trackbacks