Continuous integration in GITHUB : experiences with TRAVIS-CI

BN Bogdan Vasilescu, van Sb Stef Schuylenburg, Jjhm Jules Wulms, Alexander Serebrenik, Mark van den Brand · TU/e Research Portal · 2014

Continuous integration (CI) is a software engineering practice of frequently merging all developer working copies with a shared main branch [1], e.g., several times a day, or with every commit. This continuous application of quality control checks aims to speed up the development process and to ultimately improve software quality, by reducing the integration problems occurring between team members that develop software collaboratively [1]. With the advent of social media in (OSS) software development, recent years have witnessed many changes to how software is developed, and how developers collaborate, communicate, and learn [2]. One such prominent change is the emergence of the pull-based development model [3], made popular by the “social coding” platform GITHUB. In this model one can distinguish between direct contributions to a project, coming from a typically small group of developers with write access to the main project repository, and indirect ones, coming from developers who fork the main repository, update their copies locally, and submit pull requests for review and merger. GITHUB’s implementation of the pull-based development model enables anyone with an account to submit changes to any repository with only a few clicks. This represents an unprecedented low barrier to entry for potential contributors, but it also impacts testing behavior [4]: GITHUB project owners reported scalability challenges when integrating outside contributions, driving them towards automated tests. Automated CI services, such as TRAVIS-CI1—integrated with GITHUB itself—or JENKINS2, facilitate this process: whenever a commit is recorded or a pull request is received, the contribution is merged automatically into a testing branch, the existing test suite is run, and the contribution author and project owner are notified of the results. This extended abstract summarizes the finding of our study of TRAVIS-CI, arguably the most popular CI service on GITHUB [5].3 We quantitatively explore to what extent GITHUB developers use the TRAVIS-CI, and whether the contribution type (direct or indirect) or project characteristics are associated with the success of the automatic builds.

Read the paper · More papers on PaperTik