[Mono-devel-list] Automated builds

Jaroslaw Kowalski jaak at zd.com.pl
Fri May 14 13:26:33 EDT 2004

Ok. I've put the files that make up my mono tinderbox at


I have a user "mono" that owns /home/mono and /opt/mono.

/opt/mono - contains the installed mono
/home/mono/mono-working.tar.gz - contains a copy of /opt/mono that's known
to be working and able to recompile itself
/home/mono/src/ - contains mono,mcs,xsp,mod_mono modules fetched from CVS

/home/mono/bin/cvsclean.pl - a script that cleans the CVS (found somewhere
through google) - included
/home/mono/tinderbox/tinderbox.sh - an automated script (a modified version
of mcs/tools/tinderbox/tinderbox.sh) that calls the build process and
reports via e-mail - included
/home/mono/Makefile - a master makefile that directs the build process -

Note that tinderbox.sh uses "sendsmtp" utility that's not included (it uses
hardcoded IP addresses and such so I've decided not to relase it).

WARNING: /opt/mono gets deleted and recreated at each startup, so make sure
you have a copy.


----- Original Message ----- 
From: "Fawad Halim" <fawad at fawad.net>
To: <mono-devel-list at lists.ximian.com>
Sent: Friday, May 14, 2004 4:27 PM
Subject: Re: [Mono-devel-list] Automated builds

> Hi Jarek,
>   I'd like to have a copy of that script. I have an automated build system
> triggered by CVS (based on buildbot) which has been building for quite a
> while. However, it has gone out of sync since the new changes to mono
> (GAC and friends). When working, it gives us all features of tinderbox
> (web interface, "swim lanes" for all build targets, triggered builds,
> build dependencies, blame list, IRC bot etc.). I'd love to bring it into
> action again based on your script.
> Regards
> -fawad
> > Hi Jarek,
> > Would you be able to post the actual script you run ?  I'm sure others
> > would find it useful.
> > Ian
> > Jaroslaw Kowalski wrote:
> >
> >>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
> >>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
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list

More information about the Mono-devel-list mailing list