source: branches/testScripts/README @ 711

Last change on this file since 711 was 711, checked in by stefan, 12 years ago

add README

File size: 3.0 KB
Line 
1README for NightlyBuild
2
3The NightlyBuild scripts are made for the automatic download, configure, build, and test of COIN-OR projects.
4If a failure is recognized, NightlyBuild can send an e-mail to the corresponding project manager.
5NightlyBuild can also be used to generate automatically binary distributions of COIN-OR projects.
6The main program is nightlyBuild.py
7
8For each supported COIN-OR project a set of build types can be specified.
9A build type is a tuple of information containing the
10- SvnVersion: which version from the repository to built (trunk, latestStable, latestRelease, stable/0.1, ...)?
11- OptLevel: should the code be build in optimized mode ("Default") or debugging mode ("Debug")
12- ThirdParty: should it be allowed to use third party codes
13- SkipProjects: a list of COIN-OR projects (from the externals) that should be skipped in the build
14- AdditionalConfigOptions: additional flags for the configure call
15
16For such a build type, NightlyBuild does
171. Checkout the specified version from the svn repository (https://projects.coin-or.org/svn/<project>/...).
182. Download third party codes for which get.XXX scripts can be found.
193. Assemble the parameter for the configure call.
204. Call configure. If there is an error, send a failure report as e-mail and break.
215. Call make. If there is an error, send a failure report as e-mail and break.
226. Call make test. If there is an error, send a failure report as e-mail and break.
237. If the project has unit tests, call the unit tests. If there is an error, send a failure report as e-mail and break.
24
25There are also rules implemented to avoid the rebuild and test of a project if there has been no change in the code since the last build.
26The failure reports contain, next to information about the build type and the system, also the output to stdout and stderr.
27The output of get.XXX scripts, configure, make, unittests to stdout and stderr is also stored in the build directories for later analysis (e.g., NBmake.stdout).
28
29To adapt NightlyBuild for your system, it is proposed to follow the following steps:
30Copy the file NBuserParametersDefault.py to the file NBuserParameters.ny and adapt it to your preferences.
31The NightlyBuild system executes first NBuserParametersDefault.py to get default values for all parameters.
32Afterwards NBuserParameters.ny is executed to overwrite parameter values with user-specific ones.
33In NBuserParameters.ny you can specify:
34- the directory where the projects will be downloaded and built
35- the list of projects to built
36- the build types to built
37- additional flags for the configure call that might be specific to your system (compiler setting,...)
38- the name of a file where logging messages should go to
39- information about the sending of email, e.g., should emails be send, your mail address, SMTP server, ...
40
41Please read the comments in NBuserParametersDefault.ny about detailed information which settings can be made and how they are specified.
42To get things running properly, you will need to specify at least information about the sending of emails.
Note: See TracBrowser for help on using the repository browser.