The anatomy of a build result

Anders Qvist <[email protected]> Mon, 9 Sep 2002 11:18:25 +0200
Newsgroups gmane.comp.python.snake-farm.user
Message-ID <[email protected]>
A build package looks like this:

  buildid.txt                3.0 bytes  text/plain
  configure.pass             0.0 bytes  application/octet-stream               
  configurelog.txt          13.1 kB     text/plain                             
  environ.txt              677.0 bytes  text/plain                             
  export.stamp               3.0 bytes  application/octet-stream               
  exportstamp.txt            3.0 bytes  text/plain
  machineid.txt            321.0 bytes  text/plain
  mainlog.txt              226.0 bytes  text/plain                             
  make.fail                  0.0 bytes  application/octet-stream               
  makelog.txt              611.0 bytes  text/plain                             
  path.txt                 146.0 bytes  text/plain                             
  pyconfig.h                23.8 kB     text/x-include-file                    
  shlog.txt                202.0 bytes  text/plain                             
  testlog.txt               60.0 bytes  text/plain                             
  unpack.pass                0.0 bytes  application/octet-stream               
  unpacklog.txt              0.0 bytes  text/plain                             
  unzip.pass                 0.0 bytes  application/octet-stream               
  unziplog.txt               0.0 bytes  text/plain

The farm does a series of steps (see
xenofarm/projects/python/source-transform.sh):

  dotask 1 "unzip"      "gzip -d $BASE.tar.gz"
  dotask 1 "unpack"     "tar xf $BASE.tar"
  dotask 1 "configure"  "cd $BASE/dist/src  && ./configure $configure"
  dotask 1 "make"       "cd $BASE/dist/src  && make $make_all"
  dotask 1 "make test"  "cd $BASE/dist/src  && make test $make_test"

Each of these steps are reported in mainlog.txt and each have a log
file on its own (eg unziplog.txt, unpacklog.txt, configurelog.txt,
etc) containing all output from the command(s) run in that step. Also,
each step will have a flag to say wether it passed or failed. The
above set, for example, failed on the "make" task.

buildid.txt contains the number of this build. It is the same as the
directory_number, and the ID listed in the daily report.

machineid.txt tells about the particular builder: host info, contact
email, that sort of stuff.

Additionally, there are some extra files with info about environment,
pyconfig.h etc.

Right now, the daily report doesn't say which step failed, but it will
soon.

Hope this explains things. I will update the web page with an
introduction as soon as I get the time.
-- 
Anders "Quest" Qvist

"We've all heard that a million monkeys banging on a million typewriters
will eventually reproduce the entire works of Shakespeare. Now, thanks 
to the Internet, we know this is not true." -- Robert Wilensky