News and Blog

EPSRC CDT in Next Generation Computational Modelling

Continuous Integration workshop

During the seminar

As part of Advanced Computational Methods 2, Ryan Pepper and Alvaro Perez-Diaz prepared a student led seminar on Continuous Integration (CI). This is a method used by software developers to automatically test software, in order that changes do not break existing functionality.

After setting up students machines with prerequisites for the workshop, such as Git, GitHub accounts and SSH keys,Alvaro started by giving a short presentation on where Continuous Integration fitted into the typical developers workflow, and gave some details of free services such as CircleCI and TravisCI which provide free CI services to open source projects on GitHub.

The seminar then proceeded with a live example where Ryan showed the steps to set up a working Python test environment on CircleCI for a repository that students created. Some more advanced testing features of Python were shown, as well as some additional advanced features of Circle such as SSH build access, which is useful to diagnose failing tests.

A detailed explanation and all the code is available HERE.