84ea3d71d3132c45ccfbffb380d7318140f077d1
[buildfarm-client-wiki.git] / Home.md
1 Welcome to the exim-build-farm-client wiki!
2
3 The Exim Build Farm Client software is run on machines to build and test the [Exim](http://www.exim.org) MTA software.  It uses the current development tree and rebuilds/tests Exim when new commits are added to the [Exim source repository](https://github.com/Exim/exim). The result are recorded and reported back to the [Exim Build Farm](http://eximbuild.mrball.net) website where developers and interested parties can review builds and tests across various distros and versions.
4
5 View the [Installation](https://github.com/mrballcb/exim-build-farm-client/wiki/Installation) page for info on how to install the Build Farm Client.  There is an additional separate page on preparing your system to [build documentation](https://github.com/mrballcb/exim-build-farm-client/wiki/BuildingDocs).
6
7 ## Overview
8
9 In the default configuration, a full rebuild of Exim will occur when a new commit to the monitored branches occurs or every 7 days, and it will also build and run the test suite.  You can choose to have it also build the docs, but there are several extra package requirements for it to build the documentation.
10
11 Review your enabled features in the Makefile and make adjustments to your *build-farm.conf* to enable those features, using either the makefile_set, makefile_add, or makefile_regex.  You may also receive requests from the developers to enable specific features on your build.  Documentation for enabling these in [build-config.conf](https://github.com/mrballcb/exim-build-farm-client/wiki/BuildConfigConf) is elsewhere.
12
13 The default build configuration will build all branches specified in a text file on the server.  Most of the time this will only be HEAD, but occasionally the developers may have an interest in building some experimental code on a different branch.  The above configuration will do all of it automatically for you.  The *run_cron.sh* will also check the master repo at github and update itself (the Exim Build Farm Client software).
14
15 ## Credits
16 This code is derived from the excellent [PostgreSQL Build Farm](http://www.pgbuildfarm.org/) client and server code.  Many thanks to them for a fantastic collection which serves such a useful function.