c8fd60c2767ceddeb53d01e8406427c440f26e6e
[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](https://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](https://buildfarm.exim.org) website where developers and interested parties can review builds and tests across various distros and versions.
4
5 View the [Installation](./Installation.html) page for info on how to install the Build Farm Client.  There is an additional separate page on preparing your system to [build documentation](./BuildingDocs.html).
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 [building the documentation](./BuildingDocs.html).
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](./BuildConfigConf.html) 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* will also check the master repo at of the Exim Build Farm Client Software and update itself.
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.