ManagingCF

Enabling the compile farm for your repository

The compile farm mostly should work automatically. As project manager you may opt to have it build releases and / or nightlies automatically. In order to do so, you have to commit some CF settings to your repo:

.devzone/build/releases/enable         // presence of this file enables automatic release builds
.devzone/build/nightlies/enable        // presence of this file enables automatic nightly builds (at around 18:18h CE(S)T)
.devzone/build/type

the type file contains either nml or nfo depending upon what programming language you write your newgrf project in. See also the DevZone technical description for a more elaborate treatize.

Manually triggering the compile farm

The compile farm can also be manually triggered. It is run by user ottdc: ssh

ottdc@salieri:~> ~/hg-repos/misc/compiler/scheduler.sh -h
Usage: ./scheduler.sh [-r] [-e] [-f] [-q] [-n] [-c] [-h|-u|-?] [-<BRANCH>] [<REPO>]
Important: order of flags is required
Arguments:
  -r        Rebuild: if there are dependency changes, it will rebuild
  -e        Error rebuild: does rebuild the repo, if there was a error
  -f        Force: force rebuild and replace the existing bundle
  -q        Quiet:  don't announce the build to IRC
  -n        No publishing: exit after building (debug)
  -c        Clean: clean the build chroot
  -h,-u,-?  Help, Usage: this screen and exit
  -<BRANCH> default: nightlies
  <REPO>    default: every repo


where <projectname> is the short name and most often directory name of the project (e.g. nml for NML) and <buildtype> is either of releases or nightlies (default).
-r rebuild: rebuild a project also with same version
-f force: force rebuild also if no REQUIRE changed
-q quiet: no irc output
-n no publish: exit the script after build

If an NML project fails it might be a good idea to check whether the last nightly of NML supports all features your NML project makes use of. If not, trigger building a new version of NML this way.