Version 1 (modified by martin, 10 years ago)



Sign up here if you would like to contribute to the development and support of distributed build farm to help test the build and runtime of the CVS version of the [=OpenSceneGraph=]. The benefit of such facility is in the quicker turn around of build and runtime fixes and general improvement of software quality whilst minimizing downtime and maintaince.

Simple prototype of continous build testing and online status, developed by Marco Jez.

!!How does it work?

The basic idea is to have a number of client machines that perform cyclic builds of OSG and its main dependencies automatically. During the build process these machines would send status updates to a server through an internet connection. The server would collect the information sent by clients in order to fill a public web page with build logs and status reports.

To provide reliable information, all client machines should perform build cycles at a reasonable rate, for example once a day. Alternatively they could be triggered by changes in the CVS repository (not yet implemented). Of course the source code has to be updated from the CVS server before starting every build cycle. At the moment there are two clients active, one [=WinXP=] system (GCC-[=MinGW=]) and one Linux system (GCC), both performing a complete build cycle every night.

!!How can I contribute?

First of all you must have access to a computer that can be left compiling OSG regularly, for example every night. Of course your platform (the combination of system architecture, operating system and compiler) shouldn't be already listed in the summary page, as there can be only one client per platform. If your computer supports the "GNU make" side of the OSG build system, then you're lucky because we have a Tcl script that should allow you to set up the build client with minimal customization. If GNU make is not supported on your system, you'll need to write your own scripts to perform the build cycles and to communicate with the server (ask for the protocol specs if this is your case).

So let's suppose you're going to build OSG with GNU make. Follow these steps: # Create a directory with read/write permissions, for example ~/Builds. This directory will be the root directory for all files created during the build process. # Download [[]] and expand it into ~/Builds. # Edit the settings in cbsconfig.tcl according to your system. # Prepare the automatic execution of updatebs.tcl as you like, for example by setting up a cron job like this: 0 4 * * * cd ~/Builds && tclsh updatebs.tcl (remember to source any relevant initialization script like /etc/profile or ~/.bashrc before executing updatebs.tcl)

Notes: * It's up to you to provide a sane build environment. * One of the variables that need to be set in cbsconfig.tcl is named "PLATFORM_ID". This variable should be assigned an identifier that represents your platform. To obtain a platform identifier, please send a request to the mailing list reporting relevant information about your system (architecture, OS name, OS version, compiler, etc.).