Configuration Confusion

I needed to release a crucial fix to our customer. So I checked in the code changes and submitted a request for a build. The request came back. Upon review, the configuration management team produced an executable that was 10% smaller in size than normal.

So I asked the CM team if they knew what had happened. Then a long story ensued. Apparently their first build bombed. That's when they realized that their build script recently got deleted. And guess what? The working build script was not under source code control.

To recover from the deleted file, the CM Team enlisted the help of the build script author. They reassembled the script. But the result produced a smaller executable in the end. When installed, the application appeared to behave normally. However I was not about to send out a fix that had suspicious properties.

I spent a lot of time going around in circles with the CM team, researching the differences in their build script with similar ones that worked in other environments. Then I canned that effort. Instead I started to focus on any differences in output that I could detect. Build logs were the same as before. So I made sure all EXEs and DLLs were accounted for. Check. Then I verified all the EXE and DLL file sizes. They were all good.

Finally I discovered that a whole folder of report files were missing from the install. We traced this back to the folder being invisible during the build. It was invisible because the folder had not received a label in Clearcase. The reason? Another CM guy had the file checked out. This was wrong on many levels. Why did a CM guy check out the file and keep it locked? More importantly, why did the build go on and not flag this as a big problem.

I am hoping that a rebuild now will fix the problem.