= Continuous Integration = Releases 11.10 and 12.04 will have a critical focus on improving the automation testing efforts for Ubuntu. == 11.10 sprint cycle automation goals == * Building the continuous integration infrastructure * Add selected Ubuntu packages to CI process * Add Installer (Ubiquity) tests to CI process * Add Kernel tests to CI process * Create process for notifying teams of test failures and process for fixing failed builds === CI Environment === Machines will be built to run Jenkins servers and slaves. The lab will be a combination of physical and virtual machines. Configuration items to consider: * Security realm (local, SSO, etc.) * Roles * Email server * Backup plan === Package Testing === Ubuntu Engineering Teams are providing a prioritized list of packages they would like to have initially added to the CI process. Some packages lack the unit/integration tests required to ensure stable builds. Once those are identified, tests will be developed as part of the source code. Packages that require a separate testing process (ie, GUI functional testing) will be noted. The effort for building special test frameworks will be postponed to a future sprint. === Ubiquity Testing === A test pilot has been completed to show that Ubiquity can be automated from an image at startup. A framework needs to be built around the existing tests to allow easier development of new tests, maintainability (Ubiquity constantly changes), and reporting. === Kernel Testing === TBD === CI Process === We need to define some guidelines and principles so everyone understands the process. * Requirements for adding builds * Who gets notified per build (failed/unstable/successful) * How to notify community of a failed package * How failed builds get fixed in a timely manner * Centralized reporting/results overview == 12.04 sprint cycle automation goals == TBD == Encouraging Upstream CI == Brainstorm: * Add a field on LP to link to a CI server - their own or Ubuntu's Offical CI :) The potential link may spark enough interest * We could even create a process for getting upstream developers to submit their own projects for official Ubuntu CI * ie, "Continuous Integration Team" responsible for reviewing submissions and providing feedback for improving tests