What does it take to implement continuous integration-style automated testinginto a mailing list-driven software project? Not a lot, actually. In thistalk, we demonstrate how a simple but easily scaled testing system can beimplemented for a such a project through the combination of Patchwork, theweb-based patch tracking system, and open source CI tools such as Jenkins. At FOSDEM 2016, developers working on Patchwork, the web-based patch trackingsystem, demonstrated some of the ongoing work in Patchwork. This work rangedfrom UI improvements to new features and APIs but, collectively, it had thegoal of enabling automated testing functionality for software projectsdeveloped via mailing lists. The Patchwork developers have been busy sincethen and the application, in widespread use since 2008, recently hit the 2.0milestone, marking this functionality as complete. Projects such as the Dataplane Development Kit (DPDK) have quickly adopted thefeatures that 2.0 brings, using them to enable real time, automated testing ofpatches sent to the mailing list. This automated testing provides a mechanismfor developers to not only sidestep the more perfunctory of tasks, such ascoding standard checks, but also to test changes in environments that they maynot have at their disposal, such as differing hardware or OS configurations.As seen in projects pairing open source code collaboration tools like Gerritor Rietveld with CI systems such as Jenkins or BuildBot, this continuoustesting can provide huge improvements in developer velocity. In this talk, we demonstrate how to build a basic "checkstyle" testing systemthrough a combination of Patchwork and an off-the-shelf, open source CIsystem. This system will retrieve patches and dependencies, apply and testthem, and report the results back to both Patchwork and a separate mailinglist. This configuration demonstrates the best of Patchwork's new features,and can be easily extended to cover far more complex testing scenarios. |