Linaro uses several pre-existing tools and will develop new ones to help collaboration with Linaro releases.
One of the main tools Linaro uses is Launchpad.net. Launchpad is an open source project hosting tool used by many projects including Ubuntu. Launchpad supports many services that are essential to the development, hosting, packaging and distribution of open source software.
Bazaar is a Distributed Version Control system that enables distributed teams to collaborate, providing excellent merging capabilities.
One of the users of Bazaar is the Ubuntu Distributed Development initiative, which provides a set of tools for developing a distribution using Bazaar. At the core of this are Bazaar branches of every Ubuntu package, hosted on Launchpad, allowing anyone to use Bazaar to inspect and modify the code of any Ubuntu package. In addition to this there are tools that automate some of the work of packaging, including building packages, merging code from others, and incorporating new upstream releases.
Linaro will build upon this work, firstly by using Bazaar and the branches of Ubuntu to collaborate on changes, and secondly by ensuring that this toolset is available for anyone building a derivative distribution. By building on top of a good distributed version control system we can use the best of breed to merge between the derivatives, allowing for greater efficiency in pushing changes back.
Validation Dashboard and Automated Testing Framework
One of the Linaro tools currently under development is the validation dashboard. This allows interested parties to easily see how various development efforts are affecting an image over time. The dashboard interface allows users to visualize, in one place, the results of running tests on multiple machines. The dashboard also displays results of performance measurements across different image builds to allow users to quickly see how development is affecting quality and performance. Targets and baselines can be set for any performance metric making it possible to detect deviations and track goals. The automated testing framework provides a framework into which test definitions may be installed, run and the results published. The validation dashboard works hand in hand with the automated test framework.
In order to make it easier and more efficient for downstreams and working groups to maintain a diff against the moving ubuntu and Linaro package archive, the Linaro Infrastructure team is working with Launchpad team on adding support for derived archives to Launchpad. The goal is to allow downstreams to run their independent release cycle and freezes, while providing efficient tools to update from the upstream archive and easily merge back improvements.
On top the Linaro Infrastructure team is looking into ways how to make handling derived archives easier with a command line tool called larc, which would introduce bzr like semantics for branching an upstream archive, pulling/merging in new changes at a later time and ultimately submitting improvements back to the parent.
Image building in Ubuntu is currently difficult to do on developer machines as it requires a rather complex setup that is usually run within the Ubuntu data centre. However, Linaro wants to enable developers to create their own images in order to close the gap between the old embedded world and the old desktop world found in Ubuntu. In order to achieve that the Linaro Infrastructure team is exploring modifying existing tools and creating new tools to produce images.
The Linaro QA tracker is a web based tool for tracking results of testing against builds for a milestone. It is primarily used to test candidate images for release milestones, such as alphas and betas, as well as the release candidate for the final release. Other milestones and testing tracks for other Linaro related testing efforts may also appear on the QA tracker.
Some of the services run by the Linaro Infrastructure team are hosted in the Amazon cloud (AWS); see Process/EC2 for the gory details.
Infrastructure (last modified 2011-01-31 16:21:11)