JRuby

Get Rails tests running in a CI server somewhere before 1.1.6 release, to ensure no future breakages

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Blocker Blocker
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: JRuby 1.2
  • Component/s: Miscellaneous
  • Labels:
    None
  • Number of attachments :
    0

Description

We've put this off long enough; it's time to get a CI build running against the Rails tests again. The Rails core folks have even offered to host it and run it with their normal processes, if we can get it all working and toss them the appropriate scripts. So it's a matter of doing it.

Rails 2.1.1 broke in JRuby because we weren't running CI ourselves, so this is a serious issue.

Activity

Hide
Christian Seiler added a comment -

I read something about ObjectSpace related code of Rails not working with JRuby. But what exactly is broken?

Show
Christian Seiler added a comment - I read something about ObjectSpace related code of Rails not working with JRuby. But what exactly is broken?
Hide
Charles Oliver Nutter added a comment -

Christian: The problem is that Rails 2.1.1 introduced a new "subclasses" method that doesn't simply walk ObjectSpace.each_object(Class), which we support even when ObjectSpace is off, but walks a different type that's not exactly "Class". It only affects dev-time, and it's part of the reloading logic. We've already worked with Rails core to fix the issue, but it was unfortunately released with the breakage. So we really need to get Rails CI running to ensure we catch these things immediately.

Show
Charles Oliver Nutter added a comment - Christian: The problem is that Rails 2.1.1 introduced a new "subclasses" method that doesn't simply walk ObjectSpace.each_object(Class), which we support even when ObjectSpace is off, but walks a different type that's not exactly "Class". It only affects dev-time, and it's part of the reloading logic. We've already worked with Rails core to fix the issue, but it was unfortunately released with the breakage. So we really need to get Rails CI running to ensure we catch these things immediately.
Hide
Charles Oliver Nutter added a comment -

Well I added a test-rails target and related targets to pull the rails git repo, but I can't figure out the best way to get it to run on the CI server. It runs fine locally, but it depends on "jruby" being in PATH so it can do the rake-based launching of tests. On the server, where we don't have jruby in PATH, it does not run correctly.

So it's closer, but I'm wrestling with CI at the moment. Stepping away from it for now.

Show
Charles Oliver Nutter added a comment - Well I added a test-rails target and related targets to pull the rails git repo, but I can't figure out the best way to get it to run on the CI server. It runs fine locally, but it depends on "jruby" being in PATH so it can do the rake-based launching of tests. On the server, where we don't have jruby in PATH, it does not run correctly. So it's closer, but I'm wrestling with CI at the moment. Stepping away from it for now.
Hide
Charles Oliver Nutter added a comment -

Specs are running but need some work to run green. Punting to 1.1.6, since it's at least on the way now.

Show
Charles Oliver Nutter added a comment - Specs are running but need some work to run green. Punting to 1.1.6, since it's at least on the way now.
Hide
Charles Oliver Nutter added a comment -

No time to get it all running well in 1.1.6 cycle. Perhaps over the holidays. Still hopefully targeting "by next release".

Show
Charles Oliver Nutter added a comment - No time to get it all running well in 1.1.6 cycle. Perhaps over the holidays. Still hopefully targeting "by next release".
Hide
Charles Oliver Nutter added a comment -

Rails guys are looking into this.

Show
Charles Oliver Nutter added a comment - Rails guys are looking into this.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: