80 likes | 206 Views
NWO Build/Test system Framework. - NMI Team. Snapshot. Overview Motivations Framework Component Glue Summary. Overview. Need for generic framework for building and testing components. Framework – Set of scripts that control/handle user scripts for building/testing their components.
E N D
NWO Build/Test system Framework - NMI Team
Snapshot • Overview • Motivations • Framework • Component Glue • Summary parag@cs.wisc.edu
Overview • Need for generic framework for building and testing components. • Framework – Set of scripts that control/handle user scripts for building/testing their components. • Glue – Set of scripts written by the user to actually build/test the component. • Use DAGs to perform the task. parag@cs.wisc.edu
Motivations Desired features • Easy of use. • Easy of adding new components without modifying the framework code. • Easy of adding new platforms without modifying the framework code. • Building multiple components at the same time if they are independent and follow the dependencies when required. • Log the build/test related information in the database. Future Enhancements • Web interface for component builders to build/test over the web. parag@cs.wisc.edu
Framework • Building a product can be split into several tasks. Few are as follows … • Fetching the sources • Fetching the glue • Creating the source tarball • Compiling the source to get the binaries • Packaging the binaries in the desired manner. • Provide the required flexibility to the user to perform these tasks in the required manner. parag@cs.wisc.edu
Framework … • Error and output reporting for each user and framework task. • Means for specifying the dependencies. • Tasks can be translated as nodes of a DAG. Each node is either dependent on some other node to complete or can be executed in parallel • Provide good interface to the glue scripts so user has the information about the progress of his/her tasks. • Independent of the glue or platform. parag@cs.wisc.edu
Component Glue • Set of scripts written by the user to build/test the component • Scripts should be executed in a specific order. Example … • Fetching the sources • Fetching the glue • Creating the source tarball • Compiling the source to get the binaries • Packaging the binaries in the desired manner. • User writes a description file (very close to condor’s JDF) which contains the description of various tasks and the respective scripts to be invoked as a part of the build/test. This file acts as an input to the framework. • For detailed division of glue scripts http://www.cs.wisc.edu/condor/nmi/ parag@cs.wisc.edu
Summary • An attempt to develop a framework that could be used to build and test components which is – • independent of the component • independent of the platform • good at logging the require information • handling complex tasks by splitting them into smaller sub tasks. parag@cs.wisc.edu