[Catalyst] Managing module regressions.

Bill Moseley moseley at hank.org
Fri Jun 29 15:24:37 GMT 2012


This is a "how do others do this?" post.

In your large (or even not so large) apps I assume at times you experience
dependency regressions.  My question is do you manage it on a case-by-case
basis (simply install an older version or fix internally) or is it such a
significant issue that you have a system for managing modules outside of
CPAN?

The reason I ask is because at work we are considering managing different
stacks of CPAN and in-house dependencies -- so maybe "dev", "testing", and
"production/staging" stacks all in separate private CPAN mirrors.  And now
multiply that times the number of different apps we work on.

My experience is that even with the very large number of dependencies in a
Catalyst app that it's pretty rare to have a regression.   It happens,
sure, and when it happens just deal with it.  (And thinking of our own code
it's typically not a regression in a module but a fix in a module where our
code was depending on some broken behavior).

So, the question is: does anyone else find it necessary to manage
dependencies as I described above?  And if so, what is your process?


My opinion is versions don't really matter much -- install the app in a
"QA" or "testing", bringing in dependencies as needed from CPAN or local
repo, and run the unit tests.  If they pass then I'm happy (until QA finds
a bug).   Managing multiple stacks of modules adds complexity -- and bugs
favor complexity.

Another argument that is floated around is we don't want to upgrade
dependencies often because of potential *new* bugs.  That seems a bit silly
to me because it's ignoring *known* bug fixes for the chance that there
might some unknown new bug.    (Yes, we have apps running Catalyst from
2010!)

Thanks for the feedback,



--
Bill Moseley
moseley at hank.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20120629/e9b72=
794/attachment.htm


More information about the Catalyst mailing list