On Fri, Sep 4, 2009 at 7:11 AM, Eloy Duran <eloy.de.en...@gmail.com> wrote:
> I wouldn't be bothered by these CI emails if we'd see one every now
> and then. But nowadays, it seems like every other build is broken.
> That's the real problem here.

Thanks for the feedback, everyone.  FWIW, this is not new, build
failures used to go to this list [1]

However, not fixing the build promptly is a problem, and one of the
reasons I wanted to reinstate notifications to this list.

On a large/distributed project like Rails - especially one where many
people run the master branch live in their projects - I believe there
are exactly three appropriate responses to a broken build, in order of
decreasing desirability:

1. Fix the failing tests, ASAP
2. Roll back the change which broke the tests, ASAP
3. Comment/disable the failing tests, ASAP

Any other response to a broken build is wrong and lazy, and leads to
broken windows [2].  See my longer rant here: [3]

Now, it is FINE for the build to go red once in a while, especially
for an open source project like Rails.  It is not reasonable to expect
the core team to run the full suite before every checkin, on every
supported database and Ruby interpreter.  That would be a waste of
their valuable time and effort, and is why we set up CI to do it
automatically.

However, LEAVING the build red is NOT fine.  Spamming the list and
annoying people is just a symptom of the real problem, which is not
promptly resolving a broken build.  Fixing the symptom by hiding the
problem (sending failure emails to a separate list) is
counterproductive, and only exacerbates the broken-window effect.

Anyway, I've disabled the notifications for now, and the core team has
the ability to disable them anytime they want as well [4].  I didn't
disable them because people complained, but because we just got a new
suite of servers donated to set up an awesome, multi-branch,
multi-interpreter Rails CI environment (thanks EngineYard!), and I
have to complete that migration/setup.

[1] 
http://groups.google.com/group/rubyonrails-core/browse_thread/thread/2b610e77506812c0#
[2] http://www.pragprog.com/the-pragmatic-programmer/extracts/software-entropy
[3] 
http://pivots.pivotallabs.com/users/chad/blog/articles/484-how-you-can-learn-to-stop-worrying-and-love-continous-integration
[4] http://github.com/rails/rails/blob/master/ci/cruise_config.rb#L4

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to rubyonrails-core@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to