[Mono-devel-list] Automated builds

Jaroslaw Kowalski jaak at zd.com.pl
Wed May 19 01:23:33 EDT 2004

1. "My" setup is not actually mine. I took mcs/tools/tinderbox/tinderbox.sh
and modified it slightly to work in my environment + I completely replaced
"build_mono" procedure according to new build system. I use master Makefile
that directs the build file just because it does quite a good job of
detecting and propagating failures.

2. It would be good to run some unit tests along with the build. I suggest
running all nunit tests + testing xsp/mod_mono by wget'ting some test pages,
making sure they don't return 500 or 404 and comparing the output against
some patterns.

3. I can provide 2 machines for running the automated builds:

Fedora Core 2/Athlon 1GHz
Fedora Core 1/Athlon XP/1800+ on top of colinux (www.colinux.org)

4. I haven't looked into buildbot, but the automated build system needs to

a) automated ;-)
b) 100% repeatable - it must ALWAYS start from scratch and never rely on
partial builds

I suggest following procedure:

    1) restore a clean, known-to-work copy of entire mono tree. I usually do
"rm -rf /opt/mono/*" before that. Alternatively RPMs can be used here.
    2) get a clean, fresh CVS
    3) reconfig, make bootstrap && make install
    4) remove non-CVS files (using cvsclean.pl or similar)
    5) reconfigure and make mono/mcs again which makes sure that the
just-installed environment is able to recompile itself
    6) Once 2-6 are successful, save the current mono as the new
known-to-work copy for future use.


More information about the Mono-devel-list mailing list