On Feb 7, 2007, at 6:06 AM, Sachin Patel wrote:
So we've had alot of recent build breaks, IIRC, this is the third
day in a row. In most cases, these breaks are caused by something
that got overlooked, either forgetting to check in files,
publishing snapshots, etc.. Though these issues are small, they
tend to cause disruption and block day to day progression. These
break-ages can be easily avoided with people being more careful and
taking necessary steps to prevent this.
(1) If there are changes to external dependencies, make sure these
dependencies are published prior to commiting. Many of us are
committers in other projects and the tendency is to rely on locally
built snapshots of those rather then published snapshots.
FYI, I've been doing that pretty much continuously with OpenEJB (i've
got a setup on people for publishing). Not sure what happened to
last night's build/publish.
-David
(2) Make sure you're committing all necessary files if new files
are introduced. To ensure this, if that means doing a new checkout
and build of the tree to ensure that nothing got missed, then this
would be good habit :)
(3) Always try to do a full build. I know sometimes is easy to
think, hey this is a one line change, it won't break anything, but
I think its better to take these types of protective measures. I
think taking an additional 15-20 minutes by each of us to first
build is well worth the time to avoid the hours it can take to
resolve the simplest of build breaks.
(4) Periodically everyone should run builds with clean repositories
so we can catch any overlooked dependency issues early.
Is there anything else that we can do to minimize breakage's?
Thanks.
-sachin