DailyBuilds

Revision 1 as of 2009-07-20 16:40:56

Clear message

Daily Builds are automatically or semi-automatically built packages that consist of the latest code. The results can be discarded if a build-test is all that is wanted, but usually they are kept and made available so that they can be tested in use as well.

Making new code quickly available as a package enables a tighter feedback loop between developers and testers and so can improve the quality of the software. It can also lower the barrier to becoming a tester, because you can do it by simply adding an apt source, rather than learning how to compile the package from source, and then doing so every day.

They can also be useful for projects and distributions, allowing them to ask for bugs to be verified against the latest code without expecting the user to be able to build the project from source.

Obviously, as there is automation involved in the process the resulting packages can be risky as they haven't had human verification. This means that there has to be some care taken with them, and the project and packager should do there best to ensure that the risks are minimized. They are also not something that an average user should be using. With due diligence the benefits can certainly outweigh the risks though.

Types of daily build

A daily build doesn't have to be daily at all, it could be weekly for instance, or done on every commit. The ideal frequency depends mainly on the activity of the project, it is a busy project then one generally wants the packages to be built more frequently. However, too frequent updates lead to wasted bandwidth, so there is a balance to strike.

Setting up a daily build

If you would like to set up a daily build then see BzrBuilder for one way to do this. Be sure to also check out GoodDailyBuilds for some tips on how to ensure that the daily build will be most useful.