As of April 26th 2016, the build machines known as the Slicer factories have two roles:
- Continuous integration for Slicer
- Nightly packages generation and testing for Slicer application and associated extensions
There are currently two factories (factory.kitware and factory-south.kitware) in charge of both Nightly testing and Nightly generation of packages.
Current scripts to build extensions:
- template: https://github.com/Slicer/Slicer/blob/master/Extensions/CMake/SlicerExtensionsDashboardScript.TEMPLATE.cmake
- windows: https://github.com/Slicer/DashboardScripts/blob/master/factory-south-win7-vs2013-64bits_slicerextensions_release_continuous.cmake
Limitations of the current infrastructure
- Some extensions are consistently not built
- No access to the factory internals
- No well described procedure on how factory machine with packaging can be set up
- Andriy: Not possible to choose the factory in the extension manager.
- Jc: It is already possible to set the extension server in the settings
- Jorge: Community want to help, but nobody know how to
- Jc: Having more build bots doing Nightly test would be great. See Documentation/Nightly/Developers/Tutorials/DashboardSetup for more details.
- Temporary: Is there a way to run a manual build process ?
- Sharing the workload for maintaining and troubleshooting the factory process
- Cloud based solutions (e.g. AWS)
- Costs ?
- Preliminary tests ?
Instance types: https://aws.amazon.com/ec2/instance-types/ Instances prices: https://aws.amazon.com/ec2/purchasing-options/dedicated-instances/
G2.2xlarge (linux): $3825 / yr G2.2xlarge (windows): $4934 / yr
- Internet -> EC2: $0
- EC2 -> Internet: $55 / yr / instance