Wednesday, November 03, 2004

Worst Birthday Ever, Part 1

I'm sure you all know the really awful birthday present I got, but I'm going to do this in parts. This part is purely technical; if you're not a computer scientist, move along.

So today, for the first time, I broke the build. As most of you know, this is a bad thing, and if you work in a vital part of the company (which thankfully I don't), it's a really bad thing. And the worst part is, it wasn't particularly, or at least solely, my fault.

I checked in changes to a number of files, one of which had been modified by someone else not long before. My changes depended on their changes. Now, we also have a pipelined system, where changes must be actively promoted from stage to stage. It's supposed to detect version dependencies like the one I caused, and not allow me to promote code to build until the earlier code has been promoted. But for whatever reason, it didn't notice, and neither did I. The result was that the build servers got a "half-version" that included my changes to an implementation file without the other guy's changes to the corresponding interface file. Kaboom.

Easy to fix, I thought. But no. It's not possible to pull code back to a previous stage; the code that's there stays there. And it won't build. And it's blocking about twenty other projects. I can't just check in the interface file myself; if it's identical to the highest current version (even the current unpromoted version), the source control system silently ignores it. I inserted spurious whitespace to force a new version, but I don't have the permissions to cause a build to happen. Everyone who does went home long ago.

So the end result is that it's still broken, and I'm scheduled to be off-campus at a traning session all day tomorrow. I've explained everything to my boss in the hopes that he has the necessary mojo to fix it, but otherwise, I'm very much on the hook.

To cap the night off, I went to see "The Corporation", a film I'd very much wanted to see. And it was really good; at least until about halfway, when the projector broke and the theatre sent us all home. I got a refund, at least, but still: aaaaaaaaaaaaaaaaaaaaaaaaaaaargh.

No comments: