[Mono-devel-list] Automated builds

Jaroslaw Kowalski jaak at zd.com.pl
Thu May 13 14:59:56 EDT 2004


Hi guys!

I really dream of a tinderbox-like automated build system that would detect
non-buildable CVSes early. Today I've encountered 3 separate issues that
prevented "make bootstrap" from running correctly.

With repeatability in mind I've developed a clean and repeatable mono
rebuild script:

0. Backup the entire mono tree (/opt/mono in my case)
1. cvsclean of "mcs" and "mono" modules - this gets rid of every
file/directory not in CVS
2. cvs update
3. (cd mono && make bootstrap && make install)
4. (cd mcs && cvsclean . && make install) - to make sure the new setup is
able to recompile itself when installed

In case of a failure I restore everything from a backup copy. On success I
zip the entire mono setup as "last-known-good" configuration that I can
return to.

This guarantees that I have a repeatable and dependable build. I usually run
this as a cron job on my Fedora Core 1 machine that is 99% idle and can do
this task easily.

If anyone is interested I can send you a notification + a build log on each
failure and then again on each "fixed" build.

Jarek




More information about the Mono-devel-list mailing list