Nightly Builds

Any modern developer should at least have a nightly build system. This includes any developer working on a legacy system. How else are you going to know if something has been broken!

The build system I currently use is Jenkins.

We have two Master servers; one for building on Windows and one for Linux/Android.

The Windows build master controls probably 200 Visual Studio 2015 solutions. The build and testing takes about 17 hours. This is in no way ideal but this is a legacy project with ~80k of files produced in-house over 25 odd years with 300k of files from third parties (Open Source projects).

The Linux build master build is a lot simpler because we are using cmake. However we are building for x86 and x64 on Linux and multiple CPU architectures for Android.

However it is not enough to just have a nightly build system if your developers fail to check their emails notifying them of a build failure. Some even make email rules to move the emails to the junk folder.

Someone has to be responsible for the build and that person has to have the authority and budget to make a developer fix the problem.