Webinar: Distributed Version Control and Continuous Integration Testing

Jeff Johnson, Lawrence Berkeley National Laboratory
Seminar

This is Session 3 of the webinar series "Best Practices for HPC Software Developers," which is jointly organized by the IDEAS Project and the ALCF, NERSC, and OLCF computing facilities.

Recently, many tools and workflows have emerged in the software industry that have greatly enhanced the productivity of development teams. GitHub, a site that hosts projects in Git repositories, is a popular platform for open source and closed source projects. GitHub has encoded several best practices into easily followed procedures such as pull requests, which enrich the software engineering vocabularies of non-professionals and professionals alike. GitHub also provides integration to other services (for example, continuous integration such as Travis CI, which allows code changes to be automatically tested before they are merged into a master development branch). This presentation will discuss how to set up a project on GitHub, illustrate the use of pull requests to incorporate code changes, and show how Travis CI can be used to boost confidence that changes will not break existing code.