Continuous Integration

Please open notebook rsepython-s2r6.ipynb

The notebook can be downloaded from: https://anaconda.org/ucl-rits/rsep-s2-06ci

A good way to ensure that tests are always passing is to use a continuous integration (CI) server.

The CI server is configured to build the code and execute tests and report any failures.

CI servers can also be configured to test pull requests on Github and report status back directly in the Github interface.

Test servers

Goal:

  1. run tests nightly
  2. run tests after each commit to github (or other)
  3. run tests on different platforms

Various groups run servers that can be used to do this automatically.

RITS run a university-wide one: https://www.ucl.ac.uk/isd/services/research-it/research-software/CI-testing.

Memory and profiling

For compiled languages (C, C++, Fortran):

Next: Reading - Diffusion Example