RubyOnRails build 8807 failed

The build failed.

CHANGES

TEST FAILURES AND ERRORS ----------------------- Name: test_ordering(FirstSecondHelperTest) Type: Failure Message: <"first mail"> expected but was <"">.

./test/mail_render_test.rb:114:in `test_ordering'      ./test/../lib/../../actionpack/lib/../../activesupport/lib/active_support/testing/setup_and_teardown.rb:59:in `__send__'      ./test/../lib/../../actionpack/lib/../../activesupport/lib/active_support/testing/setup_and_teardown.rb:59:in `run'

I still plan on killing these, I'm just having more than a little trouble getting a CentOS VM running on my lappie.

Name: test_setting_time_zone_aware_attribute_in_current_time_zone(AttributeMethodsTest) Type: Error Message: LoadError: TZInfo gem is required for TimeZone#utc_to_local. `gem install tzinfo` and try again.

    ./test/cases/../../lib/../../activesupport/lib/active_support/values/time_zone.rb:232:in `utc_to_local'     ./test/cases/../../lib/../../activesupport/lib/active_support/time_with_zone.rb:16:in `time'     ./test/cases/attribute_methods_test.rb:183:in `test_setting_time_zone_aware_attribute_in_current_time_zone'     ./test/cases/attribute_methods_test.rb:198:in `in_time_zone'     ./test/cases/attribute_methods_test.rb:178:in `test_setting_time_zone_aware_attribute_in_current_time_zone'     ./test/cases/../../lib/../../activesupport/lib/active_support/testing/setup_and_teardown.rb:59:in `__send__'     ./test/cases/../../lib/../../activesupport/lib/active_support/testing/setup_and_teardown.rb:59:in `run'

This (and it's four cousins which I've snipped) are new, and caused by r8806 (which I didn't see the CI report for come through, although it's on the CC page; weird) which added tests that get really shirty if the tzinfo gem isn't installed. I've wrapped those tests in a uses_tzinfo; patch at http://dev.rubyonrails.org/ticket/11034.

- Matt

This (and it's four cousins which I've snipped) are new, and caused by r8806 (which I didn't see the CI report for come through, although it's on the CC page; weird) which added tests that get really shirty if the tzinfo gem isn't installed. I've wrapped those tests in a uses_tzinfo; patch at http://dev.rubyonrails.org/ticket/11034.

Cool. applied that.

I'm also unable to reproduce the mailer failings, anyone else given it a try?

That's what my CentOS VM is going to be for. I figure it's got to be something RedHatish, since nobody else seems able to get it going.

Also, Alexey, it might be worth installing the tzinfo gem on the CI machine, so that those timezone-related tests run.

- Matt

Hook a GemInstaller (geminstaller.rubyforge.org) step into the cruise rake task before running tests. It ensures all required gems will be installed before tests run. Works great, we use it on all of our projects. Let me know if you have questions.

-- Chad

Also, Alexey, it might be worth installing the tzinfo gem on the CI machine,

Done, and thanks for taking the time to figure it out.

Hook a GemInstaller

There's only one box this build needs to run on right now, so GemInstaller wouldn't buy me much, I think. Besides, I'm scared by automatically installing things from RubyForge - it's not secure.

Well, apparently, installing tzinfo gem did not help. I'll look into it in the next couple of days.

What are you referring to here? Build 8813.1 (which has the tzinfo gem installed) ran the tzinfo-needing tests (higher test cound on the AR-related runs, and no "you need to install tzinfo" messages). It all looks like it worked from my perspective. If you're referring to the ActionMailer-related tests, that's a whole *other* kettle of poop, and one that is still on my plate to fix.

- Matt

What are you referring to here?

Just to the fact that 8813.1 is still failing (although, you are right - it's all mailer tests).

ran the tzinfo-needing tests (higher test cound on the AR-related runs, and no "you need to install tzinfo" messages)

Ah, I see. Sorry for not paying attention - trying to do three things at the same time here, and not doing a good job of it... :frowning:

/me puts Alexey down for one of those new multi-core brains

- Matt

The real benefit of this would be to allow the core maintainers to update a geminstaller.yml config file to explicitly specify dependencies - which would cause the dependencies to be installed on your CI environment without any manual intervention. This would save you time, and also make the dependencies of the rails build explicit - which would help even non-core members be able to better investigate and reproduce builds errors.

As for the security issue - I've heard this before since Maven days, but If you run CI in a sandbox/VM this should not be a concern. Also, if only the core members have access to update the dependency config file, I would hope that they don't add any suspect dependencies. This still leaves you open to the (IMHO unlikely) possibility of hacked gems on mirrors, but if you are worried about this, the config file can explicitly point to a controlled, non-mirrored gem server (like gems.rubyonrails.org). Bottom line, any security concerns should be addressable and can be reasonably mitigated.

Anyway, just an idea to save you time and involvement in CI build machine maintenance, and make the Rails build more controlled/explicit about dependency management.

Thanks, -- Chad