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