Difference between revisions of "Documentation/4.1/Developers/Factory"

From Slicer Wiki
Jump to: navigation, search
(Created page with '=Prerequisites= See [http://www.slicer.org/slicerWiki/index.php/Documentation/4.1/Developers/Tutorials/DashboardSetup dashboard prerequisites].')
 
Line 1: Line 1:
=Prerequisites=
+
=Required factory components=
  
 
See [http://www.slicer.org/slicerWiki/index.php/Documentation/4.1/Developers/Tutorials/DashboardSetup dashboard prerequisites].
 
See [http://www.slicer.org/slicerWiki/index.php/Documentation/4.1/Developers/Tutorials/DashboardSetup dashboard prerequisites].
 +
 +
=Overview=
 +
 +
The Slicer factory machine is maintained by [http://www.kitware.com Kitware] and produces dashboard builds of many software projects, including nightly, continuous, and packaged versions of Slicer and its approved extensions.  See the [http://slicer.cdash.org/index.php?project=Slicer4 Slicer4 dashboard].
 +
 +
These builds are generated every day on three different operating systems: Windows 7, Mac OS X, and Linux.  Because it is not legal to run any version of Mac OS X on a virtual machine (unless its host also runs Mac OS X), the host OS is Mac OS X, and the Windows and Linux builds are run within this machine as virtual machines.
 +
 +
=Host=
 +
The factory machine runs Mac OS X v10.6.8, Snow Leopard. 
 +
* CMake version: 2.8.8
 +
* GCC version: i686-apple-darwin10-gcc-4.2.1
 +
* Tasks scheduled using [http://en.wikipedia.org/wiki/Cron cron]
 +
 +
The output of <pre>crontab -l</pre> on the factory machine is as follows:
 +
<pre>
 +
55 23 * * * cd /Users/kitware/DashboardScripts && /usr/bin/cvs -q up -dAP
 +
0 0 * * * /Users/kitware/DashboardScripts/factory.sh > /Users/kitware/Dashboards/Logs/factory.log 2>&1
 +
0 9 * * * /Applications/CMake\ 2.8-8.app/Contents/bin/ctest -V -VV -S /Users/kitware/DashboardScripts/factory-64bits_CTKAppLauncher_release_continuous.cmake > /Users/kitware/Dashboards/Logs/factory-64bits_CTKAppLauncher_release_continuous.log 2>&1
 +
0 9 * * * /Applications/CMake\ 2.8-8.app/Contents/bin/ctest -V -VV -S /Users/kitware/DashboardScripts/factory-64bits_slicer4_release_continuous.cmake > /Users/kitware/Dashboards/Logs/factory-64bits_slicer4_release_continuous.log 2>&1
 +
0 10 * * * /Applications/CMake\ 2.8-8.app/Contents/bin/ctest -V -VV -S /Users/kitware/DashboardScripts/factory-64bits_slicerextensions_release_continuous.cmake > /Users/kitware/Dashboards/Logs/factory-64bits_slicerextensions_release_continuous.log 2>&1
 +
0 10 * * * /Applications/CMake\ 2.8-8.app/Contents/bin/ctest -V -VV -S /Users/kitware/DashboardScripts/factory-64bits_slicerextensions_411_release_continuous.cmake > /Users/kitware/Dashboards/Logs/factory-64bits_slicerextensions_411_release_continuous.log 2>&1
 +
</pre>
 +
 +
The first tab is a command to update the cvs repository storing all of Kitware's dashboard scripts.  The second is a bash script which runs all of the nightly builds done by the Mac OS X factory.  An example of an entry in this script is as follows:
 +
<pre>
 +
open -a x11
 +
export DISPLAY=:0.0 # just DISPLAY=:0.0 without export is not enough
 +
export PATH=:/usr/local/git/bin:$PATH
 +
 +
CTEST=/Applications/CMake\ 2.8-8.app/Contents/bin/ctest
 +
LOG_DIR=/Users/kitware/Dashboards/Logs
 +
DASHBOARD_SCRIPTS_DIR=/Users/kitware/DashboardScripts
 +
 +
# Nightly build of CTKAppLauncher
 +
"$CTEST" -S $DASHBOARD_SCRIPTS_DIR/factory-64bits_CTKAppLauncher_release_nightly.cmake -VV -O $LOG_DIR/factory-64bits_CTKAppLauncher_release_nightly.log
 +
 +
# Nightly build of slicer
 +
"$CTEST" -S $DASHBOARD_SCRIPTS_DIR/factory-64bits_slicer4_release_nightly.cmake -VV -O $LOG_DIR/factory-64bits_slicer4_release_nightly.log
 +
 +
</pre>
 +
 +
The virtual  machines are run using the Parallels tool.
 +
 +
=VM: Ubuntu=

Revision as of 19:07, 15 August 2012

Home < Documentation < 4.1 < Developers < Factory

Required factory components

See dashboard prerequisites.

Overview

The Slicer factory machine is maintained by Kitware and produces dashboard builds of many software projects, including nightly, continuous, and packaged versions of Slicer and its approved extensions. See the Slicer4 dashboard.

These builds are generated every day on three different operating systems: Windows 7, Mac OS X, and Linux. Because it is not legal to run any version of Mac OS X on a virtual machine (unless its host also runs Mac OS X), the host OS is Mac OS X, and the Windows and Linux builds are run within this machine as virtual machines.

Host

The factory machine runs Mac OS X v10.6.8, Snow Leopard.

  • CMake version: 2.8.8
  • GCC version: i686-apple-darwin10-gcc-4.2.1
  • Tasks scheduled using cron

The output of

crontab -l

on the factory machine is as follows:

55 23 * * * cd /Users/kitware/DashboardScripts && /usr/bin/cvs -q up -dAP
0 0 * * * /Users/kitware/DashboardScripts/factory.sh > /Users/kitware/Dashboards/Logs/factory.log 2>&1
0 9 * * * /Applications/CMake\ 2.8-8.app/Contents/bin/ctest -V -VV -S /Users/kitware/DashboardScripts/factory-64bits_CTKAppLauncher_release_continuous.cmake > /Users/kitware/Dashboards/Logs/factory-64bits_CTKAppLauncher_release_continuous.log 2>&1
0 9 * * * /Applications/CMake\ 2.8-8.app/Contents/bin/ctest -V -VV -S /Users/kitware/DashboardScripts/factory-64bits_slicer4_release_continuous.cmake > /Users/kitware/Dashboards/Logs/factory-64bits_slicer4_release_continuous.log 2>&1
0 10 * * * /Applications/CMake\ 2.8-8.app/Contents/bin/ctest -V -VV -S /Users/kitware/DashboardScripts/factory-64bits_slicerextensions_release_continuous.cmake > /Users/kitware/Dashboards/Logs/factory-64bits_slicerextensions_release_continuous.log 2>&1
0 10 * * * /Applications/CMake\ 2.8-8.app/Contents/bin/ctest -V -VV -S /Users/kitware/DashboardScripts/factory-64bits_slicerextensions_411_release_continuous.cmake > /Users/kitware/Dashboards/Logs/factory-64bits_slicerextensions_411_release_continuous.log 2>&1

The first tab is a command to update the cvs repository storing all of Kitware's dashboard scripts. The second is a bash script which runs all of the nightly builds done by the Mac OS X factory. An example of an entry in this script is as follows:

open -a x11
export DISPLAY=:0.0 # just DISPLAY=:0.0 without export is not enough
export PATH=:/usr/local/git/bin:$PATH

CTEST=/Applications/CMake\ 2.8-8.app/Contents/bin/ctest
LOG_DIR=/Users/kitware/Dashboards/Logs
DASHBOARD_SCRIPTS_DIR=/Users/kitware/DashboardScripts

# Nightly build of CTKAppLauncher
"$CTEST" -S $DASHBOARD_SCRIPTS_DIR/factory-64bits_CTKAppLauncher_release_nightly.cmake -VV -O $LOG_DIR/factory-64bits_CTKAppLauncher_release_nightly.log

# Nightly build of slicer
"$CTEST" -S $DASHBOARD_SCRIPTS_DIR/factory-64bits_slicer4_release_nightly.cmake -VV -O $LOG_DIR/factory-64bits_slicer4_release_nightly.log

The virtual machines are run using the Parallels tool.

VM: Ubuntu